如何确定:
当前目录(运行Python脚本时我在shell中的位置),以及我正在执行的Python文件在哪里?
如何确定:
当前目录(运行Python脚本时我在shell中的位置),以及我正在执行的Python文件在哪里?
当前回答
我认为找到当前执行上下文名称的最简洁方法是:
current_folder_path, current_folder_name = os.path.split(os.getcwd())
其他回答
如果要搜索当前执行的脚本的位置,可以使用sys.argv[0]获取完整路径。
当前工作目录:os.getcwd()
__file__属性可以帮助您找到正在执行的文件的位置。这篇StackOverflow文章解释了一切:如何在Python中获取当前执行文件的路径?
我认为找到当前执行上下文名称的最简洁方法是:
current_folder_path, current_folder_name = os.path.split(os.getcwd())
答案#1:
如果需要当前目录,请执行以下操作:
import os
os.getcwd()
如果您只需要任何文件夹名称,并且您有该文件夹的路径,请执行以下操作:
def get_folder_name(folder):
'''
Returns the folder name, given a full folder path
'''
return folder.split(os.sep)[-1]
答案#2:
import os
print os.path.abspath(__file__)
对于问题1,使用os.getcwd()#获取工作目录和os.chdir(r'D:\SSteam\stamapps\common')#设置工作目录
我建议对问题2使用sys.argv[0],因为sys.argv是不可变的,因此始终返回当前文件(模块对象路径),不受os.chdir()的影响。也可以这样做:
import os
this_py_file = os.path.realpath(__file__)
# vvv Below comes your code vvv #
但当PyInstaller编译时,该代码段和sys.argv[0]将无法工作或工作异常,因为魔法财产没有在__main__level中设置,而sys.argv[0]是调用可执行文件的方式(这意味着它会受到工作目录的影响)。