例如:
def get_values(input_file):
f = open(input_file)
key = f.readline().strip()
value = f.readline().strip()
name = f.readline().strip()
password = f.readline().strip()
return key, value, name, password
其中输入文件只是一个包含4行信息的文本。
答案 0 :(得分:3)
您可以这样做:
key, value, name, password = (line.strip() for line in f)
此外,在您的代码中,在提取信息后,您似乎关闭文件。这可能会导致一些问题。您可以使用f.close()
,也可以使用通常被认为更“pythonic”的with
语句。
def get_values(input_file):
with open(input_file) as f:
key, value, name, password = (line.strip() for line in f)
return key, value, name, password
为了进一步简化您的功能,我们实际上并不需要将值绑定到各个名称,因为我们在函数中不对它们执行任何操作。我们可以简单地使用一个列表。
def get_values(input_file):
with open(input_file) as f:
info = [line.strip() for line in f]
return info
答案 1 :(得分:3)
import itertools
with open('data.txt') as f:
key, value, name, password = (line.strip() for line in itertools.islice(f, 4))
答案 2 :(得分:0)
with open(input_file) as in_f:
key, value, name, password = [line.strip() for idx, line in enumerate(in_f) if idx <= 3]