【发布时间】:2021-11-28 16:38:37
【问题描述】:
我正在编写一段 python 代码,允许您切换默认打印机。它将wmic printer list brief 的数据输出到一个 .json 文件中,并列出那些带有分配编号的打印机。如果输入未包含在数字中,则会向用户抛出错误。如果用户输入一个字符而不是数字,则从 string 到 int 的转换失败,我无法获得 try/except 来捕获错误。任何帮助都会很棒!
def setDefaultPrinter():
with open('resources/data.json') as json_file:
data = json.load(json_file)
loopvalue = 1
print('\n List of avalible printers: \n')
printerlist = []
error = False
for i in data:
print(str(loopvalue) + ". " + i)
loopvalue += 1
printerlist.append(i)
#any(printer in x for x in lst)
try:
global printer
printer = int(input("\nWhat printer do you want to use? (Number on the side): "))
except ValueError:
print("Please enter a number, not a letter")
error = True
except Exception:
print("Internal Error")
try:
if printer == None:
print("Error")
except Exception:
print("ERROR")
error = True
if printer <= len(printerlist) and not error:
printer = int(printer)
printervalue = printer - 1
printername = printerlist[printervalue]
print(printername)
else:
if error == False:
print("Invalid Responce")
【问题讨论】:
标签: python json printing integer wmic