Python脚本所在文件夹的路径是什么?

Python脚本所在文件夹的路径是什么?,python,python-3.x,path,operating-system,sys,Python,Python 3.x,Path,Operating System,Sys,我希望我的Python脚本也能够由具有其他文件夹设置的人运行,因此使用对保存Python脚本的文件夹的引用非常有意义 示例:如果我的脚本“script\u 1.py”是从“C:\my Scripts\script\u 1.py”运行的,我想将“C:\my Scripts”保存到我可以使用的变量中 然而,我不能让它工作太多 我已经导入了os和sys,但使用os.path.dirname(\uu文件\uu)或os.path.abspath(\uu文件\uu)会显示错误消息: Traceback (m

我希望我的Python脚本也能够由具有其他文件夹设置的人运行,因此使用对保存Python脚本的文件夹的引用非常有意义

示例:如果我的脚本“script\u 1.py”是从“C:\my Scripts\script\u 1.py”运行的,我想将“C:\my Scripts”保存到我可以使用的变量中

然而,我不能让它工作太多

我已经导入了os和sys,但使用
os.path.dirname(\uu文件\uu)
os.path.abspath(\uu文件\uu)
会显示错误消息:

Traceback (most recent call last):

File "<ipython-input-24-1830932ce69b>", line 1, in <module>
os.path.dirname(__file__)

NameError: name '__file__' is not defined

顺便说一下,我正在从Windows10运行我的代码。它是Python 3。

这将为您提供脚本的位置

import os
import sys
script_location = os.path.split(os.path.realpath(sys.argv[0]))[0]

文件\uuuuuu
给您一个错误,因为您在交互式会话中使用它,没有文件,试图获取无法生成的文件sense@jonatan我不知道,但这很有道理。谢谢。这什么时候比
script\u location=\uu文件\uuu
更好?如果导入,
\uuuuuu文件\uuuuuu
仍然可以工作,但这不是一个好问题。。。我从来没想过。我想唯一真正的区别是
\uuuuu file\uuuu
将为您提供当前执行文件的位置,而不一定是您的主程序。。。所以这取决于你想弄明白什么?
import os
import sys
script_location = os.path.split(os.path.realpath(sys.argv[0]))[0]