2014-10-31 3 views
-2

내가 가진이 코드파이썬 파일에서 라인을 읽고 그들에게 합류

모든 파일을 열고 내가이

처럼 인쇄 할 가정이 모양

result = ('Server:{0} # U:{1} # P:{2} # Pre:{3} # Tel:{4}\n{5}\n'.format(b,c,d,a,number,ctime)) 
print (result) 
cmd = ("{0}{1}@{2}".format(a,number,b)) 
print (cmd) 

에서 그들과 합류

with open ('ip.txt') as ip : 
    ips = ip.readlines() 
with open ('user.txt') as user : 
    usrs = user.readlines() 
with open ('pass.txt') as passwd : 
    passwds = passwd.readlines() 
with open ('prefix.txt') as pfx : 
    pfxes = pfx.readlines() 
with open ('time.txt') as timer : 
    timeout = timer.readline() 
with open ('phone.txt') as num : 
    number = num.readline() 

Server:x.x.x.x # U:882 # P:882 # Pre:900 # Tel:456123456789 
[email protected] 

그러나 출력은 다음과 같습니다.

Server:x.x.x.x 
# U:882 # P:882 # Pre:900 
# Tel:456123456789 
900 
[email protected] 

새로운 출력 : -

Server:x.x.x.x # U:882 # P:882 # Pre:900 # Tel:['456123456789'] 
900['456123456789']@x.x.x.x 

나는이 문제를 어떻게 해결할 수 있습니까?

답변

1

는 한 번에 한 줄을 읽어 strip()

with open ('ip.txt') as ip : 
    ips = ip.readline().strip() 

readline()를 사용하여 newline를 제거해야 할 수있다, 어디 readlines() 내가로부터 추측하고 라인

의 목록
0

으로 전체 파일을 읽 귀하의 제한적인 예는 b에 개행이 삽입되어 있다는 것입니다. readlines() 때문입니다. 여기에 사용하는 파이썬 관용구는 ip.read().splitlines()입니다. 여기에서 ip은 파일 핸들 중 하나입니다.

내가 실수에 삽입 된 모든 \n 또는 줄 바꿈의 경우 커버합니다 string.translate를 사용하여 다른 대답을 게시 갈 건데 여기에 완성도를 위해서, 다른 큰 응답에서 별도로 python docs

0

더 많은 splitlines 옵션을 참조하십시오 문자열 중간에 '123\n456\n78'과 같은 코드를 사용하십시오.이 경우 rstrip 또는 strip을 사용하는 경우를 처리합니다.

서버 : XXXX 번호의 U : 882 #의 P : 882 # 사전 : 900 # 전화 : [ '456123456789']

900 '456123456789'] @

XXXX이 있습니다

: 당신이 목록을 인쇄하고 있기 때문에,이 문제를 해결하는 것입니다, 당신은 number

전부 목록에 문자열을 가입해야, 솔루션은 다음과 같이 될 것입니다

관련 문제