2017-03-09 2 views
0
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 

나는 이것에 초심자이고 나는 정직하게 분실된다. 어떻게하면 텍스트 파일의 모든 이름을 읽을 수 있습니까? 나는 그걸 읽을 수 있도록 만 관리 해왔다.어떻게하면 텍스트 파일에서 모든 이름을 읽을 수 있습니까?

답변

0

회선을 통해 for 루프와 반복을 사용할 수 있습니다. for 루프의 을 수행 한 다음 파일 f의 모든 line 이상

withopen('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 것이다 루프과 : 당신은 당신이 파일을 사용하여 작업하는 경우 더 나은 with 컨텍스트를 사용하고, 아마도 명시 적으로 mode='r'를 사용하는 것이 마음 (여기서 코드는 print line 등입니다).

withwith 컨텍스트를 벗어나면 이 올바르게 닫히기 위해이라는 것을 보장하기 위해 사용됩니다. 그렇지 않으면 f.close()으로 직접해야 할 것입니다.

+0

정말 고마워요! 나는 그 단어들을 사용할 수 있을지 전혀 몰랐습니다. 다시 감사합니다. –

+0

"with open (...)"을 사용하면 파일을 닫을 필요가 없다는 것을 언급하는 것이 중요합니다. 그렇지 않으면 닫아야합니다. – Rafael

+0

다시 한번 감사드립니다. –

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 
+0

감사합니다. 나는 많은 것을 배우고있다. –

+0

이 프로그램의 의도가 올바르지 않으므로 실패합니다. –

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

2 라인,지도 + 람다를 사용!

관련 문제