从命令行传递到python3.x脚本的参数

从命令行传递到python3.x脚本的参数,python,Python,我对python非常陌生。 我想写一个脚本,如果我没有给一个参数传递任何值,它应该为那个参数询问值。如果传递,它应该选取该值并继续。传递这些值来自命令行。 我尝试了下面的代码,python抛出错误,表示变量未初始化 if (fileName == None) fileName == "C:\\filename" print(fileName) 用于执行脚本的命令行调用:-script.py“C:\filename” 堆栈跟踪:- 如果(无错误==无) ^ SyntaxError:无效语

我对python非常陌生。 我想写一个脚本,如果我没有给一个参数传递任何值,它应该为那个参数询问值。如果传递,它应该选取该值并继续。传递这些值来自命令行。 我尝试了下面的代码,python抛出错误,表示变量未初始化

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中使用同样的方法。可能吗?现在检查一下,应该可以了