【发布时间】:2023-01-16 18:53:09
【问题描述】:
所以我试图使用 Typer 在 python 中制作一个待办事项列表 CLI 应用程序,我希望它在没有任务提供给它时显示一条消息。所以我将任务设置为默认值 None 但是当我将一个值传递给任务时,例如“驾驶”,我得到一个错误“有一个意外的额外参数” 关于如何修复此错误的任何建议,或者在没有参数传递给函数时显示错误的另一种解决方案 这是我的代码:
@app.command()
def add(priority:int, task="None"):
if task=="None":
print("Error: Missing tasks string. Nothing added!")
else:
dict1={}
dict1.update({task:priority})
filesize1= os.stat('output.pickle').st_size
if filesize1==0:
pf=open("output.pickle","wb")
else:
pf=open("output.pickle","ab")
pickle.dump(dict1, pf)
pf.close()
pf=open("output.pickle","rb")
dict2={}
while 1:
try:
dict2.update(pickle.load(pf))
except EOFError:
break
pf.close()
dict3={k:v for k,v in sorted(dict2.items(),key= lambda v:v[1])}
print('Added task: "'+task+'" with priority '+str(priority))
file1=open("ls.txt","w+")
i=1
for key,value in dict3.items():
file1.write(str(i)+". "+key+ " ["+str(value)+"]"+"\n")
i=i+1
【问题讨论】:
标签: python arguments command-line-interface command-line-arguments typer