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
balise code stp
def converter(input_directory, output_directory):Alors que t'appelles ta fonction converter() sans arguments
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'
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.
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 ![]()
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.
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'estdef 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_directoryaurait pu êtrein_file,in_path_md,to_convertpar 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 ^^
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'estdef 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_directoryaurait pu êtrein_file,in_path_md,to_convertpar 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 ![]()
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'estdef 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_directoryaurait pu êtrein_file,in_path_md,to_convertpar 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
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 ^-^ )
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'estdef 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_directoryaurait pu êtrein_file,in_path_md,to_convertpar 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
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 ![]()
Passe en mp si tu veux/as des questions, j'essaierais de t'aider ![]()