Я пытался решить множество проблем здесь, в stack.overflow, чтобы удалить последние пустые строки из файла 2.txt
(входные данные):
2.txt файл :
-11
B1
5
B1
-2
B1
7
B1
-11
B1
9
B1
-1
B1
-3
B1
19
B1
-22
B1
2
B1
1
B1
18
B1
-14
B1
0
B1
11
B1
-8
B1
-15
и единственным, который работал с использованием print(line)
, был { ссылка }. Но когда я пытаюсь использовать f.write(line)
вместо print(line)
в моем окончательном файле 2.txt
(вывод), как показано ниже:
2.txt файла final:
-11B15B1-2B17B1-11B19B1-1B1-3B119B1-22B12B11B118B1-14B10B111B1-8B1-15
18
B1
-14
B1
0
B1
11
B1
-8
B1
-15
Однако, когда я использую код, использующий print line)
вместо f.write (line)
, мой терминал bash отображает вывод с удаленными последними строками (см. print(line) result in terminal bash
ниже), но с Деформация, равная 2.txt file final
, ie, работает правильно. Я пытался понять, что происходит, но не добился никакого прогресса.
печать (строка) resut в терминале bash
-11B15B1-2B17B1-11B19B1-1B1-3B119B1-22B12B11B118B1-14B10B111B1-8B1-15
18
B1
-14
B1
0
B1
11
B1
-8
B1
-15
ОБНОВЛЕНИЕ :
Мой скрипт исключает последние строки файла 2.txt
, но деформирует первые строки в терминале bash:
for line in open('2.txt'):
line = line.rstrip()
if line != '':
print (line)
Мой скрипт деформирует первые строки файла 2.txt
и также не удаляет последние строки, как требуется при выводе файла 3.txt
:
with open("2.txt",'r+') as f:
for line in open('3.txt'):
line = line.rstrip()
if line != '':
f.write(line)