CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Python erreur site statique

JusDePommeFrais
JusDePommeFrais
Niveau 1
10 février 2019 à 18:32:05

Salut salut, Je dois créer un site statique (convertit un fichier md en html) pour demain, et je bloque sur une erreur :

Voici mon code :
import markdown2
import click
@click.command()
@click.option("--input_directory", default = "", help = "fichier markdown")
@click.option("--output_directory", default = "", help = "dossier où créer le fichier .html")

def converter(input_directory, output_directory):
input_file = open(input_directory, mode='r', encoding='utf-8')
file = input_file.read()
html = markdown2.markdown(file)

output_file = output_directory + "\index.html"

output_file2 = open(output_file, "w+", encoding="utf-8")

output_file2.write('<!DOCTYPE html>\n<html>\n<head>\n<title> index </title>\n</head>\n<body>\n' + html + '</body>\n</html>')

output_file2.close

print('Le dossier a bien été convertit')

if __name__ == '__main__':
converter()

Voici mon Erreur étant donc sur ma dernière ligne :
No value for argument 'input_directory' in function
No value for argument 'output_directory' in function

Message édité le 10 février 2019 à 18:36:48 par JusDePommeFrais
SPVCE
SPVCE
Niveau 10
10 février 2019 à 18:54:41

balise code stp

SPVCE
SPVCE
Niveau 10
10 février 2019 à 19:04:48
def converter(input_directory, output_directory):

Alors que t'appelles ta fonction converter() sans arguments

JusDePommeFrais
JusDePommeFrais
Niveau 1
10 février 2019 à 19:28:11

Le 10 février 2019 à 19:04:48 SPVCE a écrit :
def converter(input_directory, output_directory):

Alors que t'appelles ta fonction converter() sans arguments

Si je change la fin ça donne ça donc :
if __name__ == '__main__': converter(input_directory, output_directory)

Et ça me donne l'erreur suivante :
Undefined variable 'input_directory'
Undefined variable 'output_directory'

SPVCE
SPVCE
Niveau 10
10 février 2019 à 19:32:31

Bon va falloir sérieusement apprendre à développer et se concentrer en cours, tu n'as pas le droit de nous demander de l'aide sur ce genre d'erreur, c'est vraiment vraiment vraiment fondamental.

Je ne doute pas de ton bon vouloir, tu as peut-être de bonnes raisons pour avoir été si dissipé, mais là, c'est trop, il faut assumer, on est pas là pour faire tes devoirs.

Désolé, je ne t'aiderai pas.

JusDePommeFrais
JusDePommeFrais
Niveau 1
10 février 2019 à 19:46:56

Non mais je comprends bien que la valeur n'est pas définie, mais je ne vois pas trop comment le définir. J'ai voulu lui donner une valeur None au départ et ça ne marche toujours pas.
Et pour ton information, j'ai commencé python il y a 2 mois en même temps que html - js & C ce qui m'empêche de pouvoir me développer rapidement dans un langage ( du coup je me développe lentement dans plusieurs langage a la fois ). Je veux donc bien comprendre que tu ne veuille pas m'aider mais évite de dire que je ne glande rien :)

Message édité le 10 février 2019 à 19:51:07 par JusDePommeFrais
SPVCE
SPVCE
Niveau 10
10 février 2019 à 20:54:56

Bah pareil que dans les autres langages, quand tu appelles ta fonction il faut que tu lui passes des arguments.
La signature de ta fonction converter, c'est

def converter(input_directory, output_directory)

C'est une fonction avec deux paramètres qui correspondent respectivement au path de ton fichier .md puis au fichier que ton convertisseur va générer. Ce sont donc deux strings qui représentent le chemin d'accès à ton fichier.

D'ailleurs les noms de ces paramètres sont assez mal choisis, input_directory aurait pu être in_file, in_path_md, to_convert par exemple, réciproquement pour le second.

L'équivalent en c de ta signature, je crois, aurait pu être

void converter(char* in_file, char* out_file)  

Si ça te parle plus.

Donc quand tu appelles ta fonction:

if __name__ == '__main__':
converter()

En paramètre tu lui passes des strings qui représentent le chemin d'accès tes fichiers.
Exemple:

if __name__ == '__main__':
converter('./mon_fichier.md', './resultat.html')

Voilà, en espérant t'avoir aidé pour demain. Travaille, recentre toi, ce que tu apprends sur un autre langage est quasiment mot pour mot applicable à un autre.

JusDePommeFrais
JusDePommeFrais
Niveau 1
10 février 2019 à 21:58:48

Le 10 février 2019 à 20:54:56 SPVCE a écrit :
Bah pareil que dans les autres langages, quand tu appelles ta fonction il faut que tu lui passes des arguments.
La signature de ta fonction converter, c'est

def converter(input_directory, output_directory)

C'est une fonction avec deux paramètres qui correspondent respectivement au path de ton fichier .md puis au fichier que ton convertisseur va générer. Ce sont donc deux strings qui représentent le chemin d'accès à ton fichier.

D'ailleurs les noms de ces paramètres sont assez mal choisis, input_directory aurait pu être in_file, in_path_md, to_convert par exemple, réciproquement pour le second.

L'équivalent en c de ta signature, je crois, aurait pu être

void converter(char* in_file, char* out_file)  

Si ça te parle plus.

Donc quand tu appelles ta fonction:

if __name__ == '__main__':
converter()

En paramètre tu lui passes des strings qui représentent le chemin d'accès tes fichiers.
Exemple:

if __name__ == '__main__':
converter('./mon_fichier.md', './resultat.html')

Voilà, en espérant t'avoir aidé pour demain. Travaille, recentre toi, ce que tu apprends sur un autre langage est quasiment mot pour mot applicable à un autre.

Merci pour ta réponse et t'es explications, j'essayerais ça demain matin ^^

SPVCE
SPVCE
Niveau 10
11 février 2019 à 05:59:06

Le 10 février 2019 à 21:58:48 JusDePommeFrais a écrit :

Le 10 février 2019 à 20:54:56 SPVCE a écrit :
Bah pareil que dans les autres langages, quand tu appelles ta fonction il faut que tu lui passes des arguments.
La signature de ta fonction converter, c'est

def converter(input_directory, output_directory)

C'est une fonction avec deux paramètres qui correspondent respectivement au path de ton fichier .md puis au fichier que ton convertisseur va générer. Ce sont donc deux strings qui représentent le chemin d'accès à ton fichier.

D'ailleurs les noms de ces paramètres sont assez mal choisis, input_directory aurait pu être in_file, in_path_md, to_convert par exemple, réciproquement pour le second.

L'équivalent en c de ta signature, je crois, aurait pu être

void converter(char* in_file, char* out_file)  

Si ça te parle plus.

Donc quand tu appelles ta fonction:

if __name__ == '__main__':
converter()

En paramètre tu lui passes des strings qui représentent le chemin d'accès tes fichiers.
Exemple:

if __name__ == '__main__':
converter('./mon_fichier.md', './resultat.html')

Voilà, en espérant t'avoir aidé pour demain. Travaille, recentre toi, ce que tu apprends sur un autre langage est quasiment mot pour mot applicable à un autre.

Merci pour ta réponse et t'es explications, j'essayerais ça demain matin ^^

Hop hop on se leve :noel:

JusDePommeFrais
JusDePommeFrais
Niveau 1
11 février 2019 à 19:48:29

Le 11 février 2019 à 05:59:06 SPVCE a écrit :

Le 10 février 2019 à 21:58:48 JusDePommeFrais a écrit :

Le 10 février 2019 à 20:54:56 SPVCE a écrit :
Bah pareil que dans les autres langages, quand tu appelles ta fonction il faut que tu lui passes des arguments.
La signature de ta fonction converter, c'est

def converter(input_directory, output_directory)

C'est une fonction avec deux paramètres qui correspondent respectivement au path de ton fichier .md puis au fichier que ton convertisseur va générer. Ce sont donc deux strings qui représentent le chemin d'accès à ton fichier.

D'ailleurs les noms de ces paramètres sont assez mal choisis, input_directory aurait pu être in_file, in_path_md, to_convert par exemple, réciproquement pour le second.

L'équivalent en c de ta signature, je crois, aurait pu être

void converter(char* in_file, char* out_file)  

Si ça te parle plus.

Donc quand tu appelles ta fonction:

if __name__ == '__main__':
converter()

En paramètre tu lui passes des strings qui représentent le chemin d'accès tes fichiers.
Exemple:

if __name__ == '__main__':
converter('./mon_fichier.md', './resultat.html')

Voilà, en espérant t'avoir aidé pour demain. Travaille, recentre toi, ce que tu apprends sur un autre langage est quasiment mot pour mot applicable à un autre.

Merci pour ta réponse et t'es explications, j'essayerais ça demain matin ^^

Hop hop on se leve :noel:

J'étais en cours :p (js c'est cool)

J'ai finalement trouvé en modifiant un peu le programme et en changeant juste un peu la commande

pour lancer le programme (en faite mon error est normal je dois donner les valeurs dans la commande jsuis bête :) ) si tu veux que je t'envoie le tout dit le moi sinon je fermerais ce dossier ^-^ (merci pour ton aide ^-^ )

SPVCE
SPVCE
Niveau 10
11 février 2019 à 19:54:59

Le 11 février 2019 à 19:48:29 JusDePommeFrais a écrit :

Le 11 février 2019 à 05:59:06 SPVCE a écrit :

Le 10 février 2019 à 21:58:48 JusDePommeFrais a écrit :

Le 10 février 2019 à 20:54:56 SPVCE a écrit :
Bah pareil que dans les autres langages, quand tu appelles ta fonction il faut que tu lui passes des arguments.
La signature de ta fonction converter, c'est

def converter(input_directory, output_directory)

C'est une fonction avec deux paramètres qui correspondent respectivement au path de ton fichier .md puis au fichier que ton convertisseur va générer. Ce sont donc deux strings qui représentent le chemin d'accès à ton fichier.

D'ailleurs les noms de ces paramètres sont assez mal choisis, input_directory aurait pu être in_file, in_path_md, to_convert par exemple, réciproquement pour le second.

L'équivalent en c de ta signature, je crois, aurait pu être

void converter(char* in_file, char* out_file)  

Si ça te parle plus.

Donc quand tu appelles ta fonction:

if __name__ == '__main__':
converter()

En paramètre tu lui passes des strings qui représentent le chemin d'accès tes fichiers.
Exemple:

if __name__ == '__main__':
converter('./mon_fichier.md', './resultat.html')

Voilà, en espérant t'avoir aidé pour demain. Travaille, recentre toi, ce que tu apprends sur un autre langage est quasiment mot pour mot applicable à un autre.

Merci pour ta réponse et t'es explications, j'essayerais ça demain matin ^^

Hop hop on se leve :noel:

J'étais en cours :p (js c'est cool)

J'ai finalement trouvé en modifiant un peu le programme et en changeant juste un peu la commande

pour lancer le programme (en faite mon error est normal je dois donner les valeurs dans la commande jsuis bête :) ) si tu veux que je t'envoie le tout dit le moi sinon je fermerais ce dossier ^-^ (merci pour ton aide ^-^ )

Je fais essentiellement du javascript :oui:
Passe en mp si tu veux/as des questions, j'essaierais de t'aider :noel:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment