我如何从我的文本文件中读取所有名称而不是一个?

时间:2017-03-09 16:32:39

标签: python python-2.7

f = open('name.txt')

line = f.readline()

print line
names = line.split()
print names
first = names[0]
last = names[1]

print first
print last
print first[0].lower()
address = last[0].lower() + first[0].lower() + "@gmail.com"
print address

我是这方面的初学者,我老老实实输了。我如何阅读文本文件中的所有名称?我只是设法让它读一个。

3 个答案:

答案 0 :(得分:0)

您可以使用for循环和迭代。请注意,如果您使用文件,最好使用with上下文,并且可能明确使用mode='r'

with open('name.txt',mode='r') as f:
    for line in f:

        print line
        names = line.split()
        print names
        first = names[0]
        last = names[1]

        print first
        print last
        print first[0].lower()
        address = last[0].lower() + first[0].lower() + "@gmail.com"
        print address

for循环覆盖文件line中的每个f,然后执行for正文 } loop(这里的代码如print line等)。

此外,with用于确保程序退出with上下文后文件正确关闭。否则,您必须自己使用f.close()

答案 1 :(得分:0)

您可以使用以下内容:

f = open('name.txt')

for row in f:

print line
names = line.split()
print names
first = names[0]
last = names[1]

print first
print last
print first[0].lower()
address = last[0].lower() + first[0].lower() + "@gmail.com"
print address

答案 2 :(得分:0)

file = open('name.txt')
print( list(map(lambda one: one.split()[0]+ one.split()[1]+'@gmail' , file)))

在2行中,使用map + lambda!