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!