我試圖編輯註冊表,所以當我鍵入無論是蟒蛇外殼或DOS窗口:運行Python代碼不帶路徑名
python sample.py
我希望它去的目錄我保存我的.py文件並運行文件,而不必輸入:
python C:\PythonPractice\sample.py
有什麼想法?
我試圖編輯註冊表,所以當我鍵入無論是蟒蛇外殼或DOS窗口:運行Python代碼不帶路徑名
python sample.py
我希望它去的目錄我保存我的.py文件並運行文件,而不必輸入:
python C:\PythonPractice\sample.py
有什麼想法?
對於DOS窗口:
set VARIABLE=yourpath
python %VARIABLE%\sample.py
因此,對於你的例子,你可以這樣做:進入 「控制面板」
set p=C:\PythonPractice
python %p%\sample.py
您可以設置此永久>> 「系統」> >「高級系統設置」>>「環境變量」。除非您希望它影響所有系統配置文件,否則您可能需要爲您的帳戶添加一個變量。可能需要重新啓動。
@echo off
c:
CD c:\py
c:\python271\python.exe %1
保存,作爲在DIR py.bat
您PATH
。將c:\ py更改爲腳本的目錄。
您可以從任何地方打電話給你的腳本是這樣的:
C:\Windows>py hallowelt.py
Hallo!
略有改善雅各布的回答是:
@echo off
pushd c:\py
c:\python271\python.exe %*
popd
保存爲在一個目錄中py.cmd從你的PATH環境變量。然後你可以撥打電話
py sample.py arg1 arg2 ...
這適用於任何數量的參數。
但是,正如wberry提到的,你可以從你的Python腳本中更改工作目錄爲好,如果你真的需要(但我認爲這是一個壞主意):
os.chdir(os.path.abspath(os.path.dirname(__file__))) #untested
雖然這ISN」 t完全是你的問題的答案,我推薦使用以下模式: 說,我有一個Python腳本c:\ mydir \ myprog.py需要特殊的環境變量(PATH,ORACLE_HOME,無論),也許它需要一個特定的工作目錄。
然後我在同一目錄下創建一個文件myprog.cmd:
@echo off
setlocal
set PATH=...
set ORACLE_HOME=...
pushd %~dp0
python %~dpn0.py %*
popd
endlocal
的PUSHD/POPD部分改變和恢復的工作目錄。
對於的%〜...語法的解釋,在命令提示類型
help call
。
這種方法可以完全控制Python程序的環境。 請注意,python調用是通用的:如果您需要第二個Python腳本otherprog.py,那麼只需將myprog.cmd的副本保存爲otherprog.cmd。
意思是說,你不希望讓Python程序爲你做這件事嗎? – wberry
查看該問題的答案: http://stackoverflow.com/questions/1934675/how-to-execute-python-scripts-in-windows – ton4eg