Maison  >  Article  >  développement back-end  >  Partagez les erreurs que vous avez rencontrées lors de l'écriture de python

Partagez les erreurs que vous avez rencontrées lors de l'écriture de python

零下一度
零下一度original
2017-06-30 09:28:481079parcourir

J'ai écrit du code aujourd'hui. Au départ, je voulais obtenir les trois répertoires au-dessus du fichier actuel, mais le résultat était une erreur

import osimport sysprint(__file__)# 得到上上层目录的路径之后,加入到默认的环境变量中BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(BASE_DIR)print("******", BASE_DIR)

输出结果:<encoding error>
******

Ensuite, je l'ai vu sur Stack Overflow. La déclaration suivante

La signification générale de ce qui précède est que dirname et basename ne prendront pas en compte le chemin actuel lors de la division du chemin, nous devons donc apporter les modifications suivantes, mais un programme que je a écrit avant Le même code est utilisé et peut être exécuté. Cela me rend très confus, mais le problème est effectivement résolu. Si un internaute connaît la raison spécifique, veuillez me donner quelques conseils dans les commentaires ci-dessous .

Modifiez le code : remplacez simplement __file__ par os.path.abspath(__file___)

import osimport sysprint(os.path.abspath(__file__))
# 得到上上层目录的路径之后,加入到默认的环境变量中BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(BASE_DIR)print("******", BASE_DIR)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn