此问题在此处已有答案:
Checking if sys.argv[x] is defined(8个回答)
How can I read and process (parse) command line arguments?(22个回答)
What does "sys.argv[1]" mean? (What is sys.argv, and where does it come from?)(9个答案)
7小时前关闭
我对Python的逻辑有些问题。不知道这是否可能,但如果bash可以,我想其他语言也可以。
如果没有命令行参数传递给脚本,我想使用默认函数参数:
#!/usr/bin/env python3
import sys
def get_file_name(filename: str = "watched_movies"):
if sys.argv[1]:
filename = sys.argv[1]
return filename
return filename
print(get_file_name())
字符串
我的代码可能是错误的,因为我只是做一些闲逛。
我收到错误:
Traceback (most recent call last):
File "/home/os/scripts/python/./movies.py", line 11, in <module>
print(get_file_name())
File "/home/os/scripts/python/./movies.py", line 6, in get_file_name
if sys.argv[1]:
IndexError: list index out of range
型
2条答案
按热度按时间xpszyzbs1#
试试看:
字符串
在一行中:
型
enyaitl32#
字符串
输出量
型
argv是一个数组。如果没有参数,那么它的长度是1(只有一个元素),索引1超出了范围。