Je voudrais trouver une meilleure façon de nommer les publications que je stocke sur mon ordinateur local sous forme de fichiers PDF. Jusqu'à présent, j'ai fait quelque chose comme ceci:
Albano R., Sole A., Adamowski J., Mancusi L. (2014) - Un modèle basé sur un SIG pour estimer les conséquences des inondations et les degré d'accessibilité et d'opérabilité des structures stratégiques d'intervention d'urgence dans les zones urbaines.pdf
Ceci présente quelques inconvénients:
- Les titres peuvent être extrêmement longs. Cela pose des problèmes dans certains systèmes d'exploitation ou logiciels tels que OneDrive. Vous ne pouvez avoir qu'un nombre limité de caractères dans un nom de fichier ...
- Toutes les publications ne peuvent pas suivre ce format. Ce qui précède est acceptable pour les articles de journaux et les thèses, mais pas tant pour les livres ou autres types de publications.
Je voudrais avoir une manière cohérente de gérer une telle base de données. J'ai pensé à conserver les métadonnées de publication telles que les auteurs, la date de publication, le type de publication et le type dans un fichier texte ou Excel séparé et à nommer les fichiers PDF par ID, comme 1.pdf
, 2.pdf
, etc. Cela pourrait fonctionner, mais il faudrait se référer à et gérer une feuille de calcul qui contiendrait toutes les métadonnées.
Y a-t-il une méthode simple ou peut-être un logiciel léger que je pouvez-vous utiliser ce qui peut m'aider dans ce genre de tâche?
MODIFIER
Je n'ai pas vraiment aimé la façon dont le script de @Jonas Stein est configuré, même si je lui dois l'inspiration et l'indication d'utiliser JabRef. Voici mon script alternatif:
import bibtexparserimport osfrom shutil import copyfilefilename = 'db.bib'out_folder =' out 'with open (filename) as bibtex_file: db = bibtexparser.load (bibtex_file) pour l'entrée dans db.entries: print (entrée ['fichier']) id = entrée ['ID'] fichier = entrée ['fichier']. split (':') [1] copyfile (fichier, os.path.join ( out_folder, id) + '. pdf') print ('done')
C'est beaucoup plus compact et fait le travail.