【发布时间】:2016-09-07 14:17:11
【问题描述】:
我正在 Python 3 中制作终端模拟器。命令存储在函数中,例如:
def rd(os_vartmp, os_vartmp2):
if os_vartmp == None:
print('rd [path] [-S]')
print('Delete a folder')
else:
if os.path.isfile(os_vartmp) == True:
if os_vartmp2 == '-S': print('a')
else:
print(ERR5)
a = input('Command: ')
终端是这样工作的:
- 要求用户输入
- 拆分输入
- 使用输入的第一部分在本地搜索函数
- 如果有,则使用输入的其余部分作为参数
- 调用函数
这里的问题是,当我使用例如 'rd "boot.py" -S' 调用函数 'rd' 时,它工作得很好。但是,如果我需要这样称呼它:rd“boot.py”,它会给我一个关于在需要 2 时给出的 1 参数的错误。有解决办法吗?
【问题讨论】:
-
用
def rd(os_vartmp, *args)让函数接受任意数量的参数
标签: function python-3.x terminal arguments emulation