簡體   English   中英

如何在python中編輯文本文件的一行

[英]How to edit a line of a text file in python

我有一個看起來像這樣的txt文件:

112

我只想使用 Python 命令將1添加到該行。 有任何想法嗎?

這感覺太像學習/家庭作業,所以我們不要毀了你:

  1. 您讀取要編輯的行之前的所有行,並將它們寫入臨時輸出文件
  2. 您閱讀該行,附加您的 1,並將其寫入您的臨時輸出文件
  3. 您讀取要編輯的行之后的所有行,並將它們寫入臨時輸出文件
  4. 您關閉輸入文件,取消鏈接/刪除它並重命名臨時文件,以便它替換原始文件。

您也可以就地編輯文件,但它需要您首先將要編輯的行之后的所有行讀取到臨時緩沖區中,然后修改該行,然后覆蓋修改后的位置后的所有內容。

文件沒有“行”的概念。 它們以字節為單位。 如果您需要在文件中的某處插入一個字節,則需要將該字節位置之后的所有內容向后移動。

您應該閱讀文件,替換行並重寫文件,如下所示:

with open('file.txt', 'r') as file :
  filedata = file.read()
 
filedata = filedata.replace('112', '1112')
 
with open('file.txt', 'w') as file:
  file.write(filedata)

如果您想在所有行中添加 1,您可以使用一些東西來修改所有行,例如:

with open('file.txt', 'r') as file :
  filedata = file.read()

list_num = []
for num in  filedata.split('\n')[:-1]:
    list_num.append(str(int(num)+1))

'\n'.join(list_num)
with open('file.txt', 'w') as file:
  file.write('\n'.join(list_num) + '\n')    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM