Написание текстового файла Python
Я пытаюсь сделать скрипт, который генерирует 26 текстовых файлов с именами a.txt, b.txt и т. Д. Вплоть до z.txt. Каждый файл должен содержать букву, отражающую его имя файла. Таким образом, a.txt будет содержать букву a, b.txt будет содержать букву b и так далее.
Как мне нужно изменить этот код, чтобы он генерировал.txt файлы? Теперь сценарий почти правильный, но он не создает файлы.txt. Я использую Python 3.5. Вот мой код:
import string
alphabet= string.ascii_lowercase
for letter in alphabet:
with open(letter,'w') as file:
file.write(letter)
4 ответа
Тебе нужно сделать это
import string
alphabet= string.ascii_lowercase
for letter in alphabet:
with open(letter+".txt",'w') as file:
file.write(letter)
Создайте имя файла, используя форматирование строки. str.format()
предпочтительный способ выполнить форматирование строки:
import string
for letter in string.ascii_lowercase:
with open('{}.txt'.format(letter), 'w') as f:
f.write(letter)
NB. Хотя это не проблема в Python 3, вам следует избегать использования имени file
как переменная, она скрывает встроенный Python 2 file
объект, и потенциально делает ваш код менее переносимым.
for i in range(0,26):
alphabetLeter = chr(65+i)
with open(f"{alphabetLeter}.txt", 'w') as fio:
print(f"{alphabetLeter}.txt")
import string
alphabet= string.ascii_lowercase
for letter in alphabet:
with open(letter,'w') as file:
file.write(letter)