【发布时间】:2019-10-27 14:21:42
【问题描述】:
我还在学习python,所以请记住,因为我不是专家,我正在尝试创建一个小程序,它将根据用户输入创建一个文件,
第一个菜单将包含设备的一些条码,每次条码扫描仪扫描时,设备都会自动发送一个输入,因此我制作了一个 while True: 以允许多个输入,一旦扫描完成然后用户将通过按 CTRL+D 进入下一个菜单
下面的代码一直工作到它调用下一个菜单但停止(它应该要求用户输入下一个值)
def netmap_mac():
clear()
header_function()
print('Start by scanning the mac address of the device: ')
print('When finish press <CTRL+D>')
mac = []
while True:
try:
line = input()
except EOFError:
return netmap_ip()
mac.append(line)
print(mac)
def netmap_ip():
clear()
header_function()
print('Enter the mangement IP for each MAC you scanned: ')
print('When finish press <CTRL+D>')
ip = input()
print ('This is netmap_ip()')
我了解我的问题,while 循环仍然是 True,但我不知道如何关闭它
我相信 while 循环将是我唯一简单的选择,因为条形码扫描仪会在每个条形码的扫描完成后自动发送 Enter
我正在运行 python3
【问题讨论】:
-
请描述您的程序所需的流程。你想什么时候输入。单身的时候。 netmap_ip() 应该返回什么?
-
我的程序主要是一堆用户输入和引导用户的菜单,最后会将用户输入保存到一个文件中,netmap_ip()是我程序的下一个用户输入,用户应提供在 netmap_mac() 期间扫描的每个条形码的 IP
-
在第一个 Ctrl-D 之后,您是否希望添加另一个用户输入的 ip 然后退出?还是几个?
-
所以ip需要和已经扫描的MAC数量相匹配,即:如果用户扫描了10个mac地址,则需要输入10个IP,我没有足够的经验做一个验证机制,所以我现在相信用户输入。回答你的问题,我期待几个
标签: python-3.x