是否可以在不使用变量的情况下解包元组?

2022-01-20 00:00:00 python tuples iterable-unpacking

问题描述

我在程序中的路径上使用 os.path.split() 函数来获取文件的文件名和路径名,然后将它们传递给另一个方法,但我目前的解决方案似乎相当难看:

I'm using the os.path.split() function on a path in my program to get the filename and pathname of a file then passing them into another method, but my current solution seems rather ugly:

path = os.path.split(somefile)
some_class(path[0], path[1])

是否可以在调用 some_class 时以更简洁的方式解包路径元组?比如:

Is it possible to unpack the path tuple in a cleaner way within the call to some_class? Something like:

some_class(os.path.split(somefile).unpack())

或者我应该以另一种方式来解决这个问题?也许是一种更 Pythonic 的方式?

Or should I simply be going about this another way? Maybe a more pythonic way?


解决方案

是的,Python 有 参数列表解包.试试这个:

Yes, Python has argument list unpacking. Try this:

some_class(*os.path.split(somefile))

相关文章