运行 Python 需要参数时没有参数的代码
Running Python code without arguments when arguments are expected
我正在尝试编写一个 python 代码,它将在 shell 中执行,参数如下:
python programName.py arg1 arg2
我必须编写代码,以便在未传递任何参数时将默认为代码中声明的默认值。我尝试使用类似于以下内容的方法来做到这一点:
# ... Imports such as sys
x = argv[0]
y = argv[1]
# ... Other Code
def main():
if x is None:
x = 0
if y is None:
y = 12
# ... Other Code
但是Python不喜欢我的做法,当没有参数传递时它会抛出错误。
抱歉,我无法显示错误,因为该程序在我不在身边的另一台计算机上。执行此操作的正确方法是什么?
试试这个:
import sys
# ... Imports such as sys
x = sys.argv[1] if len(sys.argv) > 1 else None # None is the default value
y = sys.argv[2] if len(sys.argv) > 2 else None # None is the default value
# ... Other Code
sys.argv[0]
-> 给出程序文件名
在上面的问题中你是 运行 python program_file_name x y
,在这种情况下 sys.argv[0]
给你 program_file_name
.
你应该检查argv
的长度:
if len(argv) < 2:
x = 0
if len(argv) < 3:
y = 12
做下面的怎么样。您需要检查参数列表的长度以确定编号。传递的参数。
import sys
x = None
y = None
if len(sys.argv) > 3:
print("Usage: ....")
sys.exit(1)
if len(sys.argv) > 1:
x = sys.argv[1]
if len(sys.argv) > 2:
y = sys.argv[2]
我正在尝试编写一个 python 代码,它将在 shell 中执行,参数如下:
python programName.py arg1 arg2
我必须编写代码,以便在未传递任何参数时将默认为代码中声明的默认值。我尝试使用类似于以下内容的方法来做到这一点:
# ... Imports such as sys
x = argv[0]
y = argv[1]
# ... Other Code
def main():
if x is None:
x = 0
if y is None:
y = 12
# ... Other Code
但是Python不喜欢我的做法,当没有参数传递时它会抛出错误。
抱歉,我无法显示错误,因为该程序在我不在身边的另一台计算机上。执行此操作的正确方法是什么?
试试这个:
import sys
# ... Imports such as sys
x = sys.argv[1] if len(sys.argv) > 1 else None # None is the default value
y = sys.argv[2] if len(sys.argv) > 2 else None # None is the default value
# ... Other Code
sys.argv[0]
-> 给出程序文件名
在上面的问题中你是 运行 python program_file_name x y
,在这种情况下 sys.argv[0]
给你 program_file_name
.
你应该检查argv
的长度:
if len(argv) < 2:
x = 0
if len(argv) < 3:
y = 12
做下面的怎么样。您需要检查参数列表的长度以确定编号。传递的参数。
import sys
x = None
y = None
if len(sys.argv) > 3:
print("Usage: ....")
sys.exit(1)
if len(sys.argv) > 1:
x = sys.argv[1]
if len(sys.argv) > 2:
y = sys.argv[2]