Je souhaite lire un fichier d'entrée (input.txt) ligne par ligne dans un répertoire principal. Ce fichier d'entrée est constitué du nom de certains sous-dossiers (sous-dossier1, sous-dossier2, ...). Chaque sous-dossier contient un fichier (par exemple le sous-dossier 1 contient subfolder1.pdb) avec le même nom. Le code lira le nom de chaque sous-dossier à partir du fichier input.txt et entrera dans chaque sous-dossier. Ensuite, il écrira dans un nouveau fichier (par exemple subfolder1.txt) une partie spécifique (la partie entre la ligne "nom de fichier" et la ligne "abc") d'un fichier (par exemple subfolder1.pdb) dans chaque sous-dossier (par exemple sous-dossier1). Comment puis je faire ça?écrire une partie d'un fichier dans un autre fichier
Le contenu du fichier (subfolder1.pdb) dans subfolder1 est ici:
subfolder1.pdb
subfolder1.pdb
12
xy
...
abc
kl
...
Le contenu du fichier de sortie souhaité (subfolder1.txt) pour subfolder1 pdb:
subfolder1.pdb
12
xy
...
abc
le contenu du fichier (subfolder2.pdb) dans dossier2 i s ici:
subfolder2.pdb
subfolder2.pdb
54
mn
...
abc
xy
...
Le contenu du fichier de sortie souhaité (de subfolder2.txt) pour subfolder1.pdb:
subfolder2.pdb
54
mn
...
abc
Le code que j'essaie d'utiliser est inférieure à. Je ne sais pas comment le terminer.
#!/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) Comment puis-je sélectionner une partie spécifique du fichier? 2) Le nom Ouputfile doit être le même avec son sous-dossier. Dans votre code, ce n'est pas le cas. – erhan
1) Vous ne pouvez sélectionner qu'une partie du fichier en mettant une condition avant l'appel 'write'. 2) C'est trivial à corriger: j'ai fait le chemin du fichier de sortie le résultat d'un appel de fonction. Vous êtes libre d'avoir cette fonction retourner le nom de chemin que vous voulez. – acdr