从命令行传递到python3.x脚本的参数
我对python非常陌生。 我想写一个脚本,如果我没有给一个参数传递任何值,它应该为那个参数询问值。如果传递,它应该选取该值并继续。传递这些值来自命令行。 我尝试了下面的代码,python抛出错误,表示变量未初始化从命令行传递到python3.x脚本的参数,python,Python,我对python非常陌生。 我想写一个脚本,如果我没有给一个参数传递任何值,它应该为那个参数询问值。如果传递,它应该选取该值并继续。传递这些值来自命令行。 我尝试了下面的代码,python抛出错误,表示变量未初始化 if (fileName == None) fileName == "C:\\filename" print(fileName) 用于执行脚本的命令行调用:-script.py“C:\filename” 堆栈跟踪:- 如果(无错误==无) ^ SyntaxError:无效语
if (fileName == None)
fileName == "C:\\filename"
print(fileName)
用于执行脚本的命令行调用:-script.py“C:\filename”
堆栈跟踪:-
如果(无错误==无)
^
SyntaxError:无效语法if语句末尾缺少冒号
if (fileName == None):
fileName = "C:\\filename"
print(fileName)
sys模块提供了许多选项来处理命令行参数。 下面的例子可能会对您有所帮助
import sys
#storing the argument in string
st=" ".join(sys.argv)
#splitting the list to get the file name and storing it in list
var=st.split('=')
if len(sys.argv)<2:
print "Enter Argument\n"
else:
print 'Argument found'
print var[1]
导入系统
#以字符串形式存储参数
st=”“.加入(系统argv)
#拆分列表以获取文件名并将其存储在列表中
var=st.split(“=”)
如果len(sys.argv)抱歉,注意到第二行在语法上也不正确。赋值只使用一个“=”。1行中的括号也是多余的。小问题,我是否可以同样使用名称-值对,例如:-script.py fileName=“C:\fileName”就像在命令行中一样。这是我的实际要求。我可以用javascript实现这一点。我也希望在python中使用同样的方法。有可能吗?小问题,我是否也可以像在命令行中一样使用名称-值对,例如:-script.py fileName=“C:\fileName”。这是我的实际要求。我可以用javascript实现这一点。我也希望在python中使用同样的方法。可能吗?现在检查一下,应该可以了