使用变量的值创建文件名

Create a filename using the value of a Variable

我正在尝试创建一个变量的文件名,这比我想象的要难!

我想使用 TESTNAME 变量的值作为新文件的名称。

import re
with open('output.csv', 'r') as rf:
    body = rf.read()
    for line in body:
        newbody = body.rsplit("'")[0]
    print(newbody)
    SYMNAME = newbody
    with open('TEST.txt', 'w') as wf:
        wf.close

如果我print(TESTNAME),值是HISTORY,但是如果我把它添加到wf,我得到这个错误:

[Errno 22] Invalid argument: 'HISTORY\n'

我希望通过变量 HISTORY.txt 调用新文件..

您可以使用

打开和写入文件
with open(TESTNAME+'.txt') as wf:
    wf.write("some content in your new file\n")

wf.close 不会做任何事情,要关闭一个文件你需要调用 wf.close(),这里的括号很重要。此外,您实际上不需要调用 wf.close(),因为使用 with ... 会自动 close() 文件。

问题是您的文件名中有换行符。您可以使用 TESTNAME.strip() 作为文件名,而不是摆脱尾随的换行符