【问题标题】:Create a filename using the value of a Variable使用变量的值创建文件名
【发布时间】:2019-01-11 03:48:40
【问题描述】:

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

我想使用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..

【问题讨论】:

  • \n 是您必须串出的换行符。做TESTNAME = TESTNAME.strip()。你也不需要wf.close - with 语句处理。
  • 您的代码示例中没有名为TESTNAME 的变量
  • 这里显示的代码有问题,但不是你描述的问题。

标签: python variables filenames


【解决方案1】:

问题是您的文件名中有换行符。您可以使用TESTNAME.strip() 作为文件名来去掉尾随的换行符

【讨论】:

    【解决方案2】:

    您可以使用以下命令打开和写入文件

    with open(TESTNAME+'.txt') as wf:
        wf.write("some content in your new file\n")
    

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

    【讨论】:

      猜你喜欢
      • 2020-05-23
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多