2014-10-21 5 views
0

파이썬 라인에 텍스트 파일을 읽어나는 다음과 같은 텍스트 파일을 만든 현명한

내가 라인 현명한 텍스트 파일을 읽는 일을해야 무엇
fo = open("foo.txt", "wb") 
fo.write("begin \n") 
fo.write("end \n") 
fo.write("if \n") 
fo.write("then \n") 
fo.write("else \n") 
fo.write("identifier \n") 


input = raw_input("Enter the expression : ") 
print input 
fo = open("foo.txt" , "rt") 
str = fo.read(10) 
print "Read string is : ", str 
fo.close() 

? 나는 fo.read()와 fo.readlines()를 시도했지만 예상 출력을 얻지 못했습니다 !!!

+2

출력 내용은 무엇입니까? – Elric

+0

튜토리얼의이 섹션을 파이썬 문서 - [파일 읽기 및 쓰기] (https://docs.python.org/2.7/tutorial/inputoutput.html#reading-and-writing-files) – wwii

+0

에서 살펴보십시오. linecache.getline ('Filename.txt', Line_number)을 사용하여 무엇을 찾고 있었는지 –

답변

1

것은이 일하고 있지만 올바른 방법으로 사용하지 않았다

for line in fo.readlines(): 
    print line 
+3

또는 심지어''for fo :'''에 대해서 – wwii

+0

linecache.getline ('Filename.txt ', Line_number) –

0

당신은 쓰기 위해 파일을 열하지만, ​​읽기를 시도하기 전에 닫을 수 없습니다. 당신은 또한 fo.read

전에 fo.close()을 추가해야 read(10)는 파일에서 데이터의 10 바이트를 읽고, wb는 your'e 바이너리 데이터를 쓰는 것을 의미한다. 나는 당신이 원하는 것을 그렇게 확신하지는 않는다 ...

+0

'input'과'str'을 쉐도우하는 것은 말할 필요도 없습니다 ... 그러나 이러한 실수들로 인해 실제로 프로그램은 그것이 수행 된 것을 수행하지 못합니다. :) –

+0

하나의 변수에 두 번째 줄과 다른 변수의 두 번째 줄을 저장하려면 어떻게해야합니까? –

+0

@WeaselFox : fo.close()를 fo.read()가 실제로 작동하지 않기 전에 작성하십시오. –

0

처음에는 잘못된 모드 (바이너리, 텍스트 대신에 아래의 열린 인수에 주목)로 파일을 여는 것이다. readlines 메서드를 사용하여 파일의 행을 반복해야합니다.

#Using a context manager to open the file in write text mode 
with open("foo.txt", "w") as fo: 
    fo.write("begin \n") 
    #write other lines... 
    ... 

input = raw_input("Enter the expression : ") 
print input 
#Open in read text mode 
with open("foo.txt" , "r") as fi: 
    for line in fi.readlines(): 
     print "Read string is : ", str 
+0

모든 줄에는 단일 문자열이 들어 있습니다. 각 문자열을 다른 varibale에 어떻게 저장할 수 있습니까? –

관련 문제