Как писать и читать в файл в Python?

Вот как выглядит мой код:

restart = 'y'
while (True):
    sentence = input("What is your sentence?: ")
    sentence_split = sentence.split() 
    sentence2 = [0]
    print(sentence)
    for count, i in enumerate(sentence_split): 
        if sentence_split.count(i) < 2:
            sentence2.append(max(sentence2) + 1)
        else:
            sentence2.append(sentence_split.index(i) +1)
    sentence2.remove(0)
    print(sentence2)
    outfile = open("testing.txt", "wt")
    outfile.write(sentence)
    outfile.close()
    print (outfile)
    restart = input("would you like restart the programme y/n?").lower()
    if (restart == "n"):
            print ("programme terminated")
            break
    elif (restart == "y"):
        pass
    else:
        print ("Please enter y or n")

Мне нужно знать, что делать, чтобы моя программа открыла файл, сохранила введенное предложение и числа, которые воссоздали предложение, а затем смогли распечатать файл. (Я предполагаю, что это часть для чтения). Как вы, вероятно, можете сказать, я ничего не знаю о чтении и записи в файлы, поэтому, пожалуйста, напишите свой ответ, чтобы новичок мог понять. Кроме того, одна часть кода, связанная с файлами, - это полный удар в темноте, взятый с разных сайтов, так что не думайте, что у меня есть знания по этому вопросу.

2 ответа

По сути, вы создаете объект файла, открывая его, а затем выполняете операцию чтения или записи.

Читать строку из файла

#open("filename","mode")
outfile = open("testing.txt", "r")
outfile.readline(sentence)

Читать все строки из файла

for line in fileobject:
    print(line, end='')

Чтобы написать файл с использованием Python

outfile = open("testing.txt", "w")
outfile.write(sentence)

Проще говоря, чтобы прочитать файл в python, вам нужно "открыть" файл в режиме чтения:

f = open("testing.txt", "r")

Второй аргумент "r" означает, что мы открываем файл для чтения. После наличия файлового объекта "f" к содержимому файла можно получить доступ:

content = f.read()

Чтобы записать файл в python, вам необходимо "открыть" файл в режиме записи ("w") или в режиме добавления ("a"). Если вы выберете режим записи, старый контент в файле будет утерян. Если вы выберете режим добавления, новый контент будет записан в конце файла:

f = open("testing.txt", "w")

Чтобы записать строку s в этот файл, мы используем команду записи:

f.write(s)

В вашем случае это будет что-то вроде:

outfile = open("testing.txt", "a")
outfile.write(sentence)
outfile.close()

readfile = open("testing.txt", "r")
print (readfile.read())
readfile.close()

Я бы рекомендовал следовать официальной документации, на которую указывает cricket_007: https://docs.python.org/3/tutorial/inputoutput.html

Другие вопросы по тегам