python3,py编译成exe,获取当前路径,__file__无效

做了个例子,试了主要的获取当前路径的方法

# coding:utf-8

 

# 文件路径相关模块

import os

import sys

 

# 获取当前py文件的文件夹路径

print( "__file__:" + __file__)

print ( "os.path.dirname( __file__ ):" + os.path.dirname( __file__ ) )

print ( "os.path.abspath(__file__):" + os.path.abspath(__file__) )

print ( "os.path.dirname(os.path.abspath(__file__)):" + os.path.dirname(os.path.abspath(__file__)) )

print ( "os.path.realpath(__file__):" + os.path.realpath(__file__) )

 

print ( "sys.path[0]:" + sys.path[0] )

print ( "sys.argv[0]:" + sys.argv[0] )

print ( "os.getcwd():" + os.getcwd() )

 

print ( "os.path.dirname( sys.argv[0] ):" + os.path.dirname( sys.argv[0] ) )

 

py和exe执行的结果

python3,py编译成exe,获取当前路径,__file__无效_第1张图片

结论:

sys.argv[0]

在py和exe下都有效

os.path.dirname( sys.argv[0] )可以获取当前文件的目录

 

其他关键字:

FileNotFoundError No such file or directory

os.path.dirname

你可能感兴趣的:(python3,py编译成exe,获取当前路径,__file__无效)