所以我想为我的一个python程序做一个可执行文件。我需要访问我的可执行文件所在文件夹中的文件。由于此文件可能会移动,因此我正在使用import os; current_dir = os.getcwd()
。Python os.list_dir停止一级短
当我通过终端运行程序python filename.py
和I print 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])
因为您的工作目录不同,请将完整路径传递到目录 –
https://github.com/glue-viz/glue-bot/问题/ 2这个问题可能会有所帮助...... – Busturdust