2011-01-24 5 views
0

아래 코드를 사용할 때 형식이 잘못 지정됩니다. 주요 출력 문제 중 하나는/n입니다./n은 실제 텍스트 파일에 나타나지 않지만 파이썬 스크립트에서 보면 "포맷되지 않음"입니다.형식이 잘못된 출력 (Python)

코드 :

def start(): 
    command = raw_input(''' 
1) Add 
2) Look Up 
3) See All 
4) Delete Entry 
''') 
    if command=="1": 
     add() 
    if command=="2": 
     look_up() 


def add(): 
    name = raw_input("What is your name?") 
    age = str(raw_input("How old are you?")) 
    salary = raw_input("Enter Salary:") 
    state = raw_input("State:") 

    fileObj = open("employees.txt","a") 
    fileObj.write("Name:"+name+"\n") 
    fileObj.write('--------------------------\n') 
    fileObj.write("Age:"+age+"\n") 
    fileObj.write("Salary:"+salary+"\n") 
    fileObj.write("State:"+state+"\n") 
    fileObj.write("--------------------------\n") 
    fileObj.write("\n\n") 
    fileObj.close() 
    print "The following text has been saved:" 
    print "Name:"+name 
    print "Age:"+age 
    print "Salary:"+salary 
    print "State:"+state 
    print "Note: This text was assigned to one line." 
    start() 
def look_up(): 
    fileObj = open("employees.txt") 
    line = fileObj.readlines() 
    print line 
    start() 
start() 

읽고 인쇄의 결과는 다음과 같습니다

[ '\ n을', '이름 : 노아 \ n', '--------- ----------------- \ n ','나이 : 16 \ n ','급여 : 20000 \ n ','주 : NC \ n ','---- ---------------------- \ n ','\ n ','\ n ','이름 : Daniel Rainey \ n ','---- ---------------------- \ n ','나이 : 18 \ n ','급여 : 200000 \ n ','상태 : NC \ n ' '-------------------------- \ n', '\ n', '\ n', '이름 : fdadas \ n', ' -------------------------- \ n ','나이 : 343 \ n ','급여 : 344433 \ n ','주 : NC \ n ','-------------------------- \ n ','\ n ','\ n ']

+0

열려있는 모든 파일을 항상 .close()로 닫아야합니다. 그렇지 않으면 가비지 컬렉터에 따라 파일이 업데이트되지 않는 것과 같이 실제로는 모호한 버그가 나타납니다. – vz0

답변

3
print line 

list을 인쇄하면 요소가 인쇄됩니다.

는 반복 한 후 인쇄 해보십시오 :

for ele in line: 
    print ele 
+0

고마워요! –

1

.readlines() 대신 .read()을 시도해보십시오

def look_up(): 
    fileObj = open("employees.txt") 
    contents = fileObj.read() 
    print contents 
    start() 

readlines()이 목록을 하나의 문자열로 read()로 파일의 라인을 읽습니다.

+0

시도해도 아무 것도 출력되지 않습니다. –

+1

파일이 비어 있습니다. –

관련 문제