sys.path 中的第一个条目是否应该代表当前工作目录?

发布于 2024-08-10 23:01:33 字数 218 浏览 10 评论 0原文

我一直假设默认情况下 sys.path 中的第一个条目是当前工作目录。但事实证明,在我的系统上,第一个条目是脚本所在的路径。因此,如果我从 /some/directory 执行 /usr/bin 中的脚本,则 sys.path 中的第一个条目是 <代码>/usr/bin。我的系统是否配置错误,或者这是预期的行为?

I had always assumed that the first entry in sys.path by default was the current working directory. But as it turns out, on my system the first entry is the path on which the script resides. So if I'm executing a script that's in /usr/bin from /some/directory, the first entry in sys.path is /usr/bin. Is something misconfigured on my system, or is this the expected behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乞讨 2024-08-17 23:01:33

这是设计使然:

在程序启动时初始化,
该列表的第一项 path[0]
是包含脚本的目录
用于调用Python
口译员。

来源:http://docs.python.org/library/sys。 html#sys.path

This is by design:

As initialized upon program startup,
the first item of this list, path[0],
is the directory containing the script
that was used to invoke the Python
interpreter.

source: http://docs.python.org/library/sys.html#sys.path

恍梦境° 2024-08-17 23:01:33

您可以使用 os.getcwd() 获取当前目录。

You can get the current directory with os.getcwd().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文