Python 使用部分输入作为文件名
我正在开发一个程序,它接受一个列表,并将它们作为列表和元组进行管理 我有一个相当令人尴尬的简单问题(或者看起来很简单):如果我有一个主循环命令的输入函数,我如何在相同的输入中使用该命令加上一个文件名来编写If/elif/else等 例如: 可用命令:退出,输入文件名Python 使用部分输入作为文件名,python,file,input,command,Python,File,Input,Command,我正在开发一个程序,它接受一个列表,并将它们作为列表和元组进行管理 我有一个相当令人尴尬的简单问题(或者看起来很简单):如果我有一个主循环命令的输入函数,我如何在相同的输入中使用该命令加上一个文件名来编写If/elif/else等 例如: 可用命令:退出,输入文件名 cmd = input("Please input a command: ") while cmd != "QUIT": if cmd == "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)
我不知道如何让它将输入命令的文件名部分识别为要使用的文件名,同时如果您知道我想说什么的话,也可以简化IF语句IF cmd==“INPUT filename”或类似语句。cmd=INPUT(“请输入命令:”)
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])
while cmd!=“退出”:
如果cmd.startswith(“输入”):
cmd=cmd.split()
如果len(cmd)!=2:
打印“用法:输入”
其他:
文件=打开(cmd[1])
如果文件名
没有空格,您可以使用
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)
cmd=input(“请输入命令:”)
while cmd!=“退出”:
如果cmd.startswith(“输入”):
如果len(cmd)<7:
打印“用法:输入”
持续
filename=cmd[6:]
文件=打开(“文件名”)
对于文件中的行:
line_list=line.strip().split(“;”)
主列表。追加(行列表)
如果您有其他命令,INPUT
或SAVE
等,您可以使用以下命令
argument=cmd[len(command_name):]
首先,您在for循环下面的缩进是错误的。呃,很抱歉,这只是因为之前从未在堆栈溢出上编写过代码:p