Написание текстового файла 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)
Другие вопросы по тегам