我想在主目錄中逐行讀取輸入文件(input.txt)。此輸入文件由一些子文件夾(子文件夾1,子文件夾2,...)的名稱組成。每個子文件夾都包含一個具有相同名稱的文件(例如,子文件夾1包含subfolder1.pdb)。代碼將從input.txt中讀取每個子文件夾的名稱並輸入到每個子文件夾中。然後,它將在每個子文件夾(例如子文件夾1)中的文件(例如,subfolder1.pdb)的特定部分(「文件名」行和「abc」行之間的部分)寫入新文件(例如,subfolder1.txt)。我怎樣才能做到這一點?將文件的一部分寫入另一個文件
在subfolder1文件(subfolder1.pdb)的含量是在這裏:
subfolder1.pdb
subfolder1.pdb
12
xy
...
abc
kl
...
期望的輸出文件的內容(subfolder1.txt)爲subfolder1 .pdb:
subfolder1.pdb
12
xy
...
abc
子文件夾2中的文件(subfolder2.pdb)的內容i在這兒:
subfolder2.pdb
subfolder2.pdb
54
mn
...
abc
xy
...
爲subfolder1.pdb所需的輸出文件(subfolder2.txt)的內容:
subfolder2.pdb
54
mn
...
abc
我嘗試使用的代碼在下面。我不知道如何完成它。
#!/usr/bin/python
import os
with open("input.txt", "r") as f:
for line in f:
os.chdir(line.strip())
#do something
os.chdir('..')
1)如何選擇文件的特定部分? 2)輸出文件名稱應該與其子文件夾相同。在你的代碼中並非如此。 – erhan
1)通過在'寫入'調用之前添加一個條件,可以只選擇部分文件。 2)解決這個問題很簡單:我將輸出文件路徑作爲函數調用的結果。你可以自由地讓該函數返回你想要的任何路徑名。 – acdr