我想在主目录中逐行读取输入文件(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