我正在开发一个程序,它接受一个列表并将它们作为列表和元组进行管理。
我有一个相当令人尴尬的简单(或似乎是这样)问题:如果我有一个主循环命令的输入函数,我如何使用命令加上文件名中的if / elif / else等相同的输入?
示例:
可用命令:QUIT,INPUT filename
cmd = input("Please input a command: ")
while cmd != "QUIT":
if cmd == "INPUT filename"
file = open("filename")
for line in file:
line_list = line.strip().split(";")
main_list.append(line_list)
我不知道如何让它将INPUT命令的文件名部分识别为要使用的文件名,同时如果cmd ==“INPUT filename”或类似的话,使IF语句变得简单,如果你知道我想说的是什么。
答案 0 :(得分:1)
cmd = input("Please input a command: ")
while cmd != "QUIT":
if cmd.startswith("INPUT"):
cmd = cmd.split()
if len(cmd) != 2:
print "Usage: INPUT <filename>"
else:
file = open(cmd[1])
答案 1 :(得分:0)
如果filename
没有空格,您可以使用
filename = cmd.split(' ')[1]
否则,您知道命令第一部分的长度,因此您可以使用:
filename = cmd[6:]
我认为第二种选择更可取。在您的代码中,这看起来像
cmd = input("Please input a command: ")
while cmd != "QUIT":
if cmd.startswith("INPUT"):
if len(cmd) < 7:
print "Usage: INPUT <filename>"
continue
filename = cmd[6:]
file = open("filename")
for line in file:
line_list = line.strip().split(";")
main_list.append(line_list)
如果您有其他命令,INPUT
或SAVE
等,您可以使用类似
argument = cmd[len(command_name):]