0
votes

Ouvrir un fichier sans prendre en compte son extension

Je me demande comment il devrait être possible d'ouvrir un fichier avec Python sans prendre en compte l'extension.

Par exemple, j'ai cette ligne (cela ne fonctionne pas, je sais que cela n'existe pas un chemin avec ChangeLog. * Fichier évidemment): P>

with open(f"/home/user/Desktop/Projects/{app}/CHANGELOG.*", 'r') as changelog:


1 commentaires

Peut-être que vous pouvez vérifier le glob module.


5 Réponses :


2
votes

Une solution possible consiste à vérifier si le fichier avec l'extension existe.

ex: xxx


ou si vous connaissez l'extension dans chaque application, vous pouvez utiliser un dict

ex: xxx


1 commentaires

Belle solution! Je ne sais pas pourquoi je n'y pensais pas. Merci beaucoup



0
votes
def app(ext):
    changelog = f"/path/.../changelog.{ext}"
    return open(changelog, 'r')

app1 = app(rst)
app2 = app(md)

0 commentaires

1
votes

Je recommanderais d'utiliser GLOB pour vous permettre de trouver le nom de fichier complet du fichier avant de l'ouvrir. XXX


0 commentaires

1
votes

Vous devez utiliser la bibliothèque Python GLOB CODE> GLOB pour cette exigence

Voici le code: P>

import glob

files = glob.glob('CHANGELOG.*');

for changelog in files:
   with open(changelog,'r') as f:
     # read f


0 commentaires

1
votes

Vous pouvez utiliser tous les fichiers du dossier avec os.listdir () ou sur un dossier spécifique avec os.listdir (chemin) et ouvrez un fichier avec un fichier certain nom. Comme ceci: xxx

Le code ci-dessus doit fonctionner avec n'importe quelle extension, non seulement .rst et .md . Si vous voulez seulement que cela fonctionne avec ces deux extensions, je pense @ RAKESH's La réponse est une approche plus facile.


1 commentaires

Cette solution est meilleure parce que plus généraliste! Merci beaucoup !