簡體   English   中英

Python程序需要Notepad ++中的完整路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM