Ouverture de fichiers à partir du répertoire de script actuel : une approche globale
Lors de l'ouverture de fichiers à partir du répertoire du script en cours d'exécution, il est crucial d'utiliser la technique appropriée pour éviter les erreurs. Au départ, utiliser open("Some file.txt", "r") peut sembler simple, mais cela peut entraîner des problèmes lorsque le script est lancé en double-cliquant sur Windows.
Pour résoudre ce problème, une solution courante L'approche consiste à utiliser os.path.join(sys.path[0], "Some file.txt") pour spécifier le chemin du fichier. Bien que cela fonctionne la plupart du temps, cela peut échouer dans certains scénarios.
Exploration des alternatives :
Considérant le Containing Module :
Le problème peut être affiné davantage jusqu'à ouvrir des fichiers dans le même répertoire que le module conteneur. Les techniques conventionnelles peuvent ne pas répondre de manière adéquate à ce besoin.
Solution fiable :
Une solution totalement fiable consiste à utiliser le code suivant :
__location__ = os.path.realpath( os.path.join(os.getcwd(), os.path.dirname(__file__)))
Cette ligne garantit que le répertoire de script est obtenu avec précision, quelle que soit la méthode ou la plateforme de lancement. Pour ouvrir des fichiers dans ce répertoire, utilisez simplement :
f = open(os.path.join(__location__, 'bundled-resource.jpg'))
Cette approche s'est avérée efficace pour regrouper des ressources avec des applications Django sous Windows et Linux.
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!