-1

可能重复:
python获取函数中参数的变量名

我有以下创建文件list.txt的代码,目前我将文件名硬编码为'list.txt',有没有一种方法可以根据传递给函数Eg..list的参数名称动态创建文件名在本例中作为参数传递,所以文件名应该是 list.txt,如果参数是 list2.txt,文件名应该是 list2.txt .....

def filecreation(list):
    #print "list"
    with open('list.txt', 'w') as d:
        d.writelines(list)

def main():
    list=['206061\n', '202086\n', '206062\n']
    filecreation(list)

if __name__ == '__main__':
    main()
4

2 回答 2

7

你能做类似的事情:

def filecreation(alist, filename):
    #print "alist"
    with open(filename, 'w') as d:
        d.writelines(alist)

有了这个,你可以调用类似 filecreation(list, "testfile.txt") 的东西,它会将你的列表输出到 testfile.txt 中。如果我有误解,请告诉我,我会尽力解决它。

于 2012-12-31T19:11:23.353 回答
3

该函数无法知道作为参数传递的变量被调用了什么。这不是 Python 的工作方式。甚至可能不涉及任何变量:

filecreation(['206061\n', '202086\n', '206062\n']) # What is the argument "name"?

最接近您想要的是 Ignacio Vazquez-Abrams 在评论中发布的链接问题,所以我建议您看一下。

于 2012-12-31T19:18:58.947 回答