[英]Python program needs full path in Notepad++
這不是主要問題,只是我在上課時遇到的煩惱。 我已經將Notepad ++設置為直接從Notepad ++運行Python代碼,但是我注意到在嘗試訪問文件時,即使源文本文件與正在運行的Python程序位於同一文件夾中,我也必須使用文件的完整路徑。
但是,通過cmd運行我的Python程序時,我只需輸入沒有整個路徑的特定文件名即可。
是否有人對此有一個簡短的答案,或者可能是如何重新配置Notepad ++?
提前致謝。
問題是您的代碼假定當前工作目錄與腳本目錄相同。 通常這是不正確的。 當然,如果您在cmd
窗口中,並且在運行腳本之前將其cd
到腳本目錄,則為true。
如果您不想依靠它(例如,因為您希望能夠從Notepad ++或直接從資源管理器運行腳本),則要做的是顯式使用腳本目錄。 例如:
import os
import sys
scriptdir = os.path.abspath(os.path.dirname(sys.argv[0]))
with open(os.path.join(scriptdir, 'myfile.txt')) as f:
# etc.
如果腳本中引用了大量文件,那么最好顯式設置工作目錄。 只需添加一行:
os.chdir(scriptdir)
對於快速和骯臟的腳本以外的任何內容,通常最好構建一個可安裝的程序包並使用pkg_resources
訪問數據文件。 閱讀包裝和分發項目教程以獲取更多詳細信息。 但是,只要您只是破解腳本來幫助您維護特定的系統,scriptdir解決方案就是可行的。
在用於啟動Notepad ++的快捷方式的屬性中,可以將其工作目錄更改為您更習慣於從Python開始的目錄。 您也可以使用適當的os.chdir()
命令開始python程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.