Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Renommer un fichier s'il existe

0 votes

Bonjour, j'essaie de faire cette commande :

for row in reader:
os.system("curl -H 'Authorization: token c98c28eeaa6cd4248525af45614fa6d96288119d' -H 'Accept: application/vnd.github.v3.raw' -O -L https://raw.githubusercontent.com/"+row['repo_name']+"/"+row['commit']+"/"+row['path'])

Mais python remplace le fichier s'il existe, et j'aimerais qu'il mette un -1 après, où quelque chose, pour éviter d'écraser des fichiers !

Merci beaucoup d'avance pour votre aide

demandé 10-Mar par Nofresi (104 points)

Il va falloir faire le test en Python. Si le fichier existe, alors tu ajoutes un suffixe. Tu pourrais aussi te simplifier la vie soit en utilisant Bash et cURL, soit Python et requests. Mais là, tu fais du Python + Bash + cURL :/

1 Réponse

0 votes

Dans ton cas ce n'est pas python qui remplace le fichier, cest cURL. En effet en utilisant os.system(...) tu execute une commande xomme si tu etait dans une console. Pour ne pas remplacer le fichier regarde dans la documentation de cURL si il y a une option qui te permet de faire ca.

Une autre solution est d'utiliser wget qui va automatiquement renommer le fichier.

PS: Une recherche rapide m'a montré que cURL n'a pas cette option, il faut donc verifier ai le fichier existe (os.path.exists) en python et changer le nom du fichier de sortie en fonction de la présence ou non de ce fichier (l'option --output monfichier permet de dire à cURL où enregistrer le contenu téléchargé

répondu 7-Aou par Fomys (146 points)
...