2013-12-08 3 views
2

with 문에 구문 오류가 있습니다. 나는 그것을 이해할 수 없다. 나는 파이썬 3을 사용하고 있으며 매번 문장을 사용할 때마다 그냥 사용하지 않을 것이다. 나는 txt 파일을위한 독자를 만들려고하고 있는데, 나는 이것을 성명서와 함께 필요로한다.python 3.0 "with"구문 오류가 있습니까?

import csv 

value1 = "Spam" 

fname = input(open("Please enter the name of the file you wish to open: ") 

with open(fname, 'rb') as csvfile: 
    spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
    for row in spamreader: 
     if value1 in row: 
      print(" ".join(row)) 

내가 도움을들

+1

을 제외 : 파이썬 3에서 csv 파일을 열기하는 경우, 당신은'개방 사용해야합니다 (FNAME, 'R'을, 줄 바꿈 = '') '대신'open (fname, 'rb')'(이것은 파이썬 2에서 어떻게 사용했는지를 보여줍니다.) [docs] (http://docs.python.org/3/library/csv.html#examples). – DSM

답변

4
구문 오류가 with에 의해 발생한 것이

하지만 print 문은 아마 매우 명백한 환호를 파이썬 매우 새로운 오전. Python 3.x에서 print은 함수입니다.

>>> print 1 
    File "<stdin>", line 1 
    print 1 
     ^
SyntaxError: invalid syntax 
>>> print(1) 
1 
>>> 

그래서 다음 줄

print " ".join(row) 

는 교체해야합니다 : 다음 문장에서

print(" ".join(row)) 

는 괄호가 없습니다.

fname = input(open("Please enter the name of the file you wish to open: ")) 
#                  ^

그리고 open 생략해야합니다

fname = input("Please enter the name of the file you wish to open: ") 
+0

여전히 구문 오류 – user3077551

+2

@ user3077551을 던지고 있습니다. 질문에 대한 전체 추적을 편집하십시오. 아마도 이전 줄에 닫혀 있지 않은 괄호가있을 수 있습니다. – DSM

+0

hoile 코드가 거기에있다 – user3077551

관련 문제