所以我想爲我的一個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