Создайте имя файла, используя значение переменной - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь создать имя файла переменной, и это сложнее, чем я предполагал!

Я хочу использовать значение переменной 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 через переменную ..

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Проблема в том, что в вашем имени файла есть новая строка. Вы можете использовать TESTNAME.strip() в качестве имени файла вместо того, чтобы избавиться от завершающей новой строки

0 голосов
/ 11 января 2019

Вы можете открыть и записать файл с помощью

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

wf.close ничего не сделает, чтобы закрыть файл, вам нужно позвонить wf.close(), здесь важны круглые скобки. Кроме того, вам на самом деле не нужно вызывать wf.close(), так как использование with ... автоматически close() файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...