Я пытаюсь перевести строки из текстового файла в Python 3 и записать в outfile. В настоящее время у меня возникают проблемы с последней строкой infile, не содержащей \ n в конце строки. Я получаю TypeError из этого кода.Реверсивные строки из файла Python 3
def main():
endofprogram = False
try:
inputfile = input("Enter name of input file: ")
ifile = open(inputfile, "r", encoding="utf-8")
outputfile = input("Enter name of output file: ")
while os.path.isfile(outputfile):
if True:
outputfile = input("File Exists. Enter name again: ")
ofile = open(outputfile, "w")
except IOError:
print("Error opening file - End of program")
endofprogram = True
#If there is not exception, start reading the input file
if endofprogram == False:
newline = "\n"
for line in ifile:
line = line.strip
line = line + "\n"
lines = ifile.readlines()
lines.reverse()
newlines= "".join(lines)
print(newlines)
ifile.close()
ofile.close()
main() # Call the main to execute the solution
Что именно такое ".reverse"? И не было бы проще просто использовать reverse = lines [:: - 1]? Также последней строке файла не нужно иметь новый символ строки. –
Реверс отменяет список. Я нахожусь в классе 101 класса, и мы не узнали [:: 1], поэтому мне не комфортно его использовать, потому что мы должны уметь объяснять, почему работает наш код. Последняя строка в этом случае нуждается в новом символе строки, потому что это будет первая строка. –