【发布时间】:2021-06-17 09:47:19
【问题描述】:
我正在编写一个应该使用“sys.argv”读取文本文件的代码。我想要两个不同的输出,具体取决于输入参数。如果终端中的参数只是“message.txt”,我希望输出为:
Anna
Hello Everyone
Kalle
Hi there
Anna
Coffee break?
Pelle
Absolutely
Kalle
Sure
Anna
Great, see you downstairs in 5 minutes
但如果输入既是“Lab2_1.py”又是“message.txt”,我想将文本文件发送到一个打印另一个输出的函数。该功能有效,我之前尝试过。
我正在考虑输入参数的某种 if 语句,但我无法让它工作。我现在将参数发送给函数的主要函数是(这按我想要的方式工作):
messages = read_file(sys.argv[1])
name1 = input('Enter a name to search for: \n')
display_entry(name1, messages)
我在想这样的事情(不起作用):
if len(sys.argv) == 1:
messages = read_file(sys.argv)
print(messages)
else:
messages = read_file(sys.argv)
name1 = input('Enter a name to search for: \n')
display_entry(name1, messages)
这样第一条语句将只打印“原始”形式的文本文件,就像上面的第一个代码块一样,另一条语句将文本文件发送到一个函数并创建另一个输出。终端中最多有 2 个参数。
关于如何解决此问题的任何想法?谢谢:)
【问题讨论】:
标签: python function if-statement text-files sys