簡體   English   中英

編寫文本文件的特定行

[英]Writing specific lines of a text file

我寫這段代碼:

f = open('example.txt','r')
lines = f.readlines()

for i, line in enumerate(f):
if i < 3:
   lines = ['LC '+line for line in lines]
   with open('./example.txt', 'w') as f:
      f.writelines(lines)
      f.close()
elif i < 5:
    lines = ['LB '+line for line in lines]
    with open('./example.txt', 'w') as f:
        f.writelines(lines)
        f.close()
elif i > 6:
    break

 f.close()

我有一個11行的文件。 我想從每一行開始寫一些東西。 第一行的第三個單詞不同,其他第二行的單詞不同。您能幫我做錯什么嗎?

lines = [("LC" if i < 3 else "LB")+line for i,line in enumerate(lines)]

可能會解決問題

lines = ['LC '+line for line in lines]

您正在將LC寫入每行而不僅僅是前3行。

lines = ['LB '+line for line in lines]此處相同

首先,您可以在行中添加適當的前綴,然后再實際編寫行。 像這樣的東西:

for i, line in enumerate(lines):
  if i < 3:
     # add prefix to line
  if 3 < i < 5:
     # add correct prefix

現在您的行有了正確的前綴,您可以將所有這些都寫到文件中

似乎您的第二個條件有些混亂。 如果您要在前三行寫東西,然后在第四和第五行寫東西,那么您的條件需要更改。

嘗試將第二個elif更改為:

elif i <= 5 and i >=3:

另外,一個建議,您無需每次都打開文件進行寫入。 您可以將第一行設置為:

f = open('example.txt','rw')

這將打開文件,為您提供文件的句柄,並允許您對其進行讀寫。

暫無
暫無

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

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