当我输入python shell或DOS窗口时,我试图编辑注册表:
python sample.py
我希望它转到我保存.py文件的目录并运行该文件,而不必输入:
python C:\PythonPractice\sample.py
任何想法?
答案 0 :(得分:0)
对于DOS窗口:
set VARIABLE=yourpath
python %VARIABLE%\sample.py
因此,对于您的示例,您可以这样做:
set p=C:\PythonPractice
python %p%\sample.py
您可以通过转到“控制面板”>>“系统”>>“高级系统设置”>>“环境变量”来永久设置此设置。您可能希望向帐户添加变量,除非您希望它影响所有系统配置文件。可能需要重启。
答案 1 :(得分:0)
@echo off
c:
CD c:\py
c:\python271\python.exe %1
将py.bat
保存在PATH
的目录中。将c:\ py更改为脚本目录。
您可以从以下任何地方调用脚本:
C:\Windows>py hallowelt.py
Hallo!
答案 2 :(得分:0)
雅各布答案略有改善:
@echo off
pushd c:\py
c:\python271\python.exe %*
popd
将此保存为您的PATH环境变量中的一个目录中的 py.cmd 。然后你可以打电话
py sample.py arg1 arg2 ...
这适用于任意数量的参数。
但是,正如wberry所提到的,如果你真的需要,你也可以从Python脚本中更改工作目录(但我认为这是一个坏主意):
os.chdir(os.path.abspath(os.path.dirname(__file__))) #untested
虽然这不是您问题的答案,但我建议使用以下模式: 说,我有一个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 。