J'ai une adresse url dans un fichier nommer "number.txt" (1 seule ligne) et lorsque je met cette adresse dans une variable, exemple:
url = "https://arbre......png"
J'arrive à bien l'utiliser dans le script initial et l'adresse est bien dans une variable, et cela exécute le script pas de souci. C'est une image png pour info.
Mais je dois changer souvent l'adresse url (lorsque j'appuie un bouton avec PyQt5) car j'ai fait en sorte que je récupère une nouvelle adresse url (nouvelle image) qui écrase ce fichier lorsque j’appuie sur bouton.
Mais le souci je ne veux pas retaper à la main et remplacer l'url par la nouvelle à chaque fois. Et je n'y arrive pas sans cela. Comment faire ?
J'ai pas d'expériences sur les requêtes url mais j'ai importé requests et essayé sans succès avec:
u = open("number.txt", "r")
url = u.read()
reponse = requests.get(url)
u.close()
f = open("bois.png", 'wb')
f.write(reponse.content)
f.close()
J'ai pas d'expériences sur les requêtes url mais j'ai importé requests et essayé sans succès avec:
Une URL est juste une chaine de caractère avec un format particulier. Et quand une fonction appelée avec une chaine de caractères ne fonctionne pas, on regarde le message d'erreur.
Avec requests, il sera dans un des attributs de reponse (si vous utilisez requests, il va falloir ouvrir la documentation) et ce sera un code HTTP (que vous devez aussi connaître).
Pour le reste pourquoi passer par des fichiers pour échanger des informations?
Effectivement ce sera mieux avec le code de retour d'erreur, seulement j'ai un code 0 lancer avec Thonny et pareil en le lançant sur un terminal (linux).
A noter que l'url se termine toujours par des chiffres donc des int: 15999332.png
Pour mon application de bureau j'ai besoin de ces images (dans ces images il y a des données graphique que je veux gardé telle dans un label) pour que lorsque j’appuie sur un bouton, elle donne des informations par rapport à un autre bouton.
Effectivement ce sera mieux avec le code de retour d'erreur, seulement j'ai un code 0 lancer avec Thonny et pareil en le lançant sur un terminal (linux).
0 ressemble plus à un status de retour d'un programme qu'a un code HTTP (normalement composé de 3 digits).
Je n'ai pas de code d'erreur puisque code 0. Je vais sinon regarder un autre module que Requests, on verra bien.
Si vous aviez ouvert la documentation de requests, vous sauriez que le code de retour de la requête HTTP se récupère dans l'attribut status_code de la reponse. Vous pouvez utiliser n'importe quelle autre bibliothèque, sans savoir un minimum de chose sur HTTP, impossible de l'utiliser correctement... mais vous verrez bien.
@mps oui vous avez raison, il faut regarder la documentation quand on peut. Bonne soirée.
Et quand on ne peut pas, on n'appelle pas à l'aide pour qu'on explique ce qui ne marche pas: vous ne comprenez pas non plus les suggestions qu'on peut faire.
ça vient de read() qui récupère aussi le saut de ligne dans le fichier en rajoutant le '\n' (chr(0x0A)); donc il faut "nettoyer" la lecture du fichier.
ça vient de read() qui récupère aussi le saut de ligne dans le fichier en rajoutant le '\n' (chr(0x0A)); donc il faut "nettoyer" la lecture du fichier.
ou éviter de l'y écrire....
Dans ce cas, on s'attend à récupérer un 404 dans la réponse HTTP (on est obligé de tester...) qui signale que l'URL n'existe pas et alors on vérifie 3 fois plutôt qu'une que le contenu de l'URL est "correct".
Et quand on ne peut pas, on n'appelle pas à l'aide pour qu'on explique ce qui ne marche pas:
vous ne comprenez pas non plus les suggestions qu'on peut faire.
Entendez un peu, je ne suis pas venu au forum depuis des années, et je fais des scripts python depuis 2 ans et moins d'1 an pour des petites applications graphiques et pourtant, j'ai eu beaucoup de problèmes, mais résolu toujours par moi-même.
Maintenant, pour terminer mon application python j'ai eu besoin d'utiliser la bibliothèque Requests que je n'ai jamais utilisée, je ne connais pas le web scraping. J'ai regardé donc sur Requests et pris ce que j'ai besoin pour mon application, et après cela, je n'en aurais plus besoin. j'apprendrais tout le cours du module lorsque j'utiliserais ce module.
Le code est correct lorsque on met l'url à la main (l'image est visible.) mais elle ne fonctionne pas lorsque l'url est mis en variable (l'image dans le dossier devient alors illisible.). C'est pourquoi je suis venu au forum pour voir les avis sur ce problème pour vois si le code est bon (je constate qu'il est bon juste pour faire de l'affichage ordinaire, c'est-à-dire url mis à la main.). C'est un problème dans le chargement de l'image png.
Nul besoin de connaître le code d'erreur avec/status/code lorsque on connait la solution. Car la solution, je l'ai trouvé, mais pas dans la documentation simplement dans une vidéo. En fait, il faut rajouter des éléments supplémentaires dans le code. Sur ce, bye bye.
Nul besoin de connaître le code d'erreur avec/status/code lorsque on connait la solution.
Il y en a besoin pour savoir si le résultat de la requête est exploitable et c'est une des bases de la programmation réseau (domaine dont requests fait partie).
No.E.A a écrit:
Car la solution, je l'ai trouvé, mais pas dans la documentation simplement dans une vidéo
Sans informations pertinentes sur la cause du problème, difficile de trouver quoi que ce soit sinon demander des informations complémentaires (que vous n'avez toujours pas fourni, de même que la solution trouvée...).
sur un forum, il est de bon ton de partager la solution.
Mettre une URL d'un fichier dans une variable
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.