如何将元组传递给python函数

2024-09-28 22:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试将元组传递给我之前创建的函数,但是,我仍然无法使它工作。 我的目标是传递一个元组,它包含一个path+file form的列表,我想知道它的大小并将其打印出来。在

这是我的密码

EXl = ('C:\\vd36e404.vdb','C:\\vd368c03.vdb')

def fileF(EXl):
    import os
    filesize = os.path.getsize(EXl)
    print (filesize);

fileF(EXl)

错误如下:

^{pr2}$

有人能解释一下为什么吗?(我使用的是python2.7.2)


Tags: path函数form密码目标列表osfile
3条回答

您成功地将元组传递给您自己的函数。但是os.path.getsize()不接受元组,它只接受单个字符串。在

另外,这个问题有点令人困惑,因为您的示例不是path+file元组,它可能类似于('C:\\', 'vd36e404.vdb')。在

要处理这样的问题,您可以这样做:

import os

def fileF(EXl):
    filesize= os.path.getsize(EXl[0] + EXl[1])
    print (filesize);

如果要打印多个路径的值,请按Bing Hsu的说明操作,并使用for循环。或者使用列表理解:

^{pr2}$

或者,如果您想返回另一个元组:

def fileF(EXl):
    return tuple(os.path.getsize(x) for x in EXl)
import   os

for xxx in EXl:
    filesize= os.path.getsize(xxx)
    print (filesize);

一个更优雅的例子:

map(fileF, EX1)

这实际上将使用EX1中的每个元素单独调用fileF。当然,这相当于

^{pr2}$

只是看起来更漂亮。在

相关问题 更多 >