Ok, j'utilise donc un script qui télécharge des fichiers à partir d'URL répertoriées dans un fichier urls.txt.Analyse du nom de fichier à partir de la liste des liens d'URL
import urllib.request
with open("urls.txt", "r") as file:
linkList = file.readlines()
for link in linkList:
urllib.request.urlretrieve(link)
Malheureusement, ils sont enregistrés sous forme de fichiers temporaires en raison de l'absence de deuxième argument dans ma fonction urllib.request.urlretrieve. Comme il y a des milliers de liens dans mon fichier texte, les nommer séparément n'est pas une option. La chose est que le nom du fichier est contenu dans ces liens, à savoir /DocumentXML2XLSDownload.vm?firsttime=true & repengback = true & d ocumentId = XXXXX & xsl = FileName rher2xml.xs l & outputFileName = XXX X_2017_06_25_4 .xls où le nom du fichier vient après outputFileName =
Existe-t-il un moyen facile d'analyser les noms de fichiers, puis les utiliser dans la fonction urllib.request.urlretrieve comme argument secondaire? Je pensais à extraire ces noms dans Excel et à les placer dans un autre fichier texte qui serait lu de la même manière que urls.txt mais je ne suis pas sûr de savoir comment l'implémenter en Python. Ou y a-t-il un moyen de le faire exclusivement en python sans utiliser Excel?
Il semble que cette méthode renvoie le nom de fichier <_sre.SRE_Match object; span = (156, 178), match = 'XXXX_2017_06_25_4.xls \ n'> comme je l'ai TypeError: fichier invalide: – Seidhe
@Seidhe Mon mauvais, ça devrait marcher maintenant. Pourriez-vous réessayer? – GBlomqvist
Il semble qu'il y ait une parenthèse fermante dans l'impression. Autre que je reçois ce genre d'erreur: retraçage (le plus récent appel dernier): Fichier "H: \ Mes Documents \ PYTHON \ download.py", ligne 8, dans file_name = re.search (regexp , link) .group (0) Fichier "F: \ TOO \ Team \ Logiciel \ Anaconda3 \ lib \ re.py", ligne 173, dans la recherche return _compile (pattern, flags) .search (string) File " F: \ TOO \ équipe \ Software \ Anaconda3 \ lib \ re.py », ligne 293, dans _compile p = sre_compile.compile (modèle, drapeaux) sre_constants.error: non terminée à la position 47 fixé –
Seidhe