gpt4 book ai didi

Python os.list_dir 停止一级短

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:36 24 4
gpt4 key购买 nike

所以我正在尝试为我的一个 python 程序制作一个可执行文件。我需要访问我的可执行文件所在文件夹中的文件。因为这个文件可能会四处移动,所以我正在使用 import os;当前目录 = os.getcwd()

当我使用 python filename.py 通过终端运行程序并打印 current_dir 时,我得到 /Users/User/Desktop/Executable/

当我通过 Finder(我在 OS X 上)用终端打开 .py 来运行可执行文件时,打印了 current_dir,我得到了 /Users/User。请注意,这没有我需要的其他 2 个级别,即 Desktop/Executable。为什么会发生这种情况?

备注:这只是一个一次性的、快速的可执行文件,不打算长期使用,但很有必要,所以制作 .py 可执行文件符合我们的目的。这是通过 chmod +x filename.py 完成的。

答案,可以在这个问题的所选答案的评论之后找到:

import os
import sys
if hasattr(sys, 'frozen'):
basis = sys.executable
else:
basis = os.path.dirname(sys.argv[0])

最佳答案

这应该为您提供适当的文件,它将返回可执行文件的路径或脚本的路径。

if hasattr(sys, 'frozen'):
basis = sys.executable
else:
basis = sys.argv[0]

如果这对您不起作用,请尝试将 else: 部分更改为

os.path.dirname(os.path.realpath("__file__"))

编辑:显然:import sys

可执行文件将添加一个卡住属性,在检查工作目录之前检查该属性。卡住的应用程序可能会针对 python.exe 运行,这将以不同方式解析您的工作目录

关于Python os.list_dir 停止一级短,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33352857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com