Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows中使用参数调用python脚本_Python_Windows - Fatal编程技术网

在Windows中使用参数调用python脚本

在Windows中使用参数调用python脚本,python,windows,Python,Windows,我写了一个简单的脚本: import sys print("len(sys.argv): "+str(len(sys.argv))) if len(sys.argv) < 2: print("Wrong params. ex: 'touch.py file_name file_name2'") exit(1) for file in sys.argv[1:]: open(file, 'a') 导入系统 打印(“len(sys.argv):”+

我写了一个简单的脚本:

import sys
print("len(sys.argv): "+str(len(sys.argv)))    
if len(sys.argv) < 2:
    print("Wrong params. ex: 'touch.py file_name file_name2'")
    exit(1)    
for file in sys.argv[1:]:
    open(file, 'a')   
导入系统 打印(“len(sys.argv):”+str(len(sys.argv))) 如果len(系统argv)<2: 打印(“错误的参数。例如:'touch.py file_name file_name2'”) 出口(1) 对于sys.argv[1:]中的文件: 打开(文件“a”)
保存它,添加到
PATH
并尝试从
CMD
调用,如
touch.py fileName
,但是我的脚本只得到一个参数——脚本的路径。那么,如何使用params从CMD调用python脚本呢?它是否仅适用于Windows?linux呢?

您需要使用python:

python touch.py fileName
如果不指定
python
,则不会传递参数



要使
cmd.exe
传递参数(不指定python),需要修改注册表。请参阅或。

您需要使用
python

python touch.py fileName
如果不指定
python
,则不会传递参数



要使
cmd.exe
传递参数(不指定python),需要修改注册表。请参阅或。

特别是在Windows中,您需要使用
py-3
py-2
告诉操作系统使用
python
运行文件。否则,您只是使用默认的
exe
在cmd中执行脚本

py -3 touch.py fileName

对于其他操作系统,使用
python2
python3
代替
py-3
特别是在Windows中,您需要使用
py-3
py-2
告诉操作系统使用
python
运行文件。否则,您只是使用默认的
exe
在cmd中执行脚本

py -3 touch.py fileName

对于其他操作系统,使用
python2
python3
代替
py-3

我想将python脚本包装到批处理文件中,并将参数传递给批处理。这个问题没有帮助吗?我想将python脚本包装到批处理文件中,并将参数传递给批处理。这个问题没有帮助吗,voltento的.py文件关联被破坏(由用户或IDE破坏),这是常见的情况。如果用户选择的是
Python.File
,并且该ProgId被正确配置为运行
py.exe“%1”%*
,那么您可以直接在shell中运行脚本,或者在资源管理器中双击脚本。否,voltento的.py文件关联被破坏(由用户或IDE破坏),这是常见的情况。如果用户选择的是
Python.File
,并且该ProgId已正确配置为运行
py.exe“%1”%*
,则可以直接在shell中运行脚本,或者在资源管理器中双击脚本。至少可以说,Eli的文章不完整。如果资源管理器的用户选择是当前自动创建的ProgId,如
Applications\python*.exe
py\u auto\u file
,则您或代表您运行的软件已成功中断python安装。您应该使用
Python.File
progid,其中包含py.exe的正确“open”命令(假设使用py启动器安装了Python 3),并且还使用shell扩展库pyshellext.amd64.dll配置了一个drop处理程序。至少可以说,Eli的文章是不完整的。如果资源管理器的用户选择是当前自动创建的ProgId,如
Applications\python*.exe
py\u auto\u file
,则您或代表您运行的软件已成功中断python安装。您应该使用
Python.File
progid,其中包括py.exe的正确“open”命令(假设Python 3是使用py启动器安装的),并且还使用shell扩展库pyshellext.amd64.dll配置放置处理程序。