2010-12-28 2 views
0

이것은 코드의 앞부분에있는 제 부분의 구문 오류입니다.중첩 된 함수의 문제점

안녕하세요, 저는 파이썬으로 작성한 중첩 함수에 약간의 문제가 있습니다. 다음은 관련 코드입니다. 때마다 내가 스크립트를 실행하려고하기 때문에

device = "/dev/sr0" 
def burn(): 
    global device 


    burnaudiotrack(device) 
    createiso(device) 
    burntrack2(device) 

내가, 혼란 스러워요, 파이썬 수익률이 :

File "./install.py", line 72 
    burnaudiotrack(device) 
       ^
SyntaxError: invalid syntax 

내가 전에 기능을 중첩하고, 유사한 방식으로 그렇게했습니다. 나는 여기에서 꽤 명백한 것을 놓치고있는 것처럼 느낀다. 그러나 나는 그것을 정확하게 지적 할 수 없다. 도와 주셔서 감사합니다/제안!.

편집 : http://dpaste.com/hold/291347/

그것은 조금 혼란, 그리고 다른 오류가있을 수 있지만,이 사람이 나를 애 태우게한다 (나는 원래 단지 포스트 관련 정보에 시도) : 전체 코드

순간.

+0

은 당신이 가능 dpaste 또는 이와 유사한 사이트로, 전체 파일을 붙여 넣을 수 있어야한다? –

+0

이것은 유효한 파이썬입니다, 아니오 SyntaxError –

+0

어떤 버전의 파이썬입니까? 위의 코드는 파이썬 2.5와 파이썬 2.6에서 나에게 (burnaudiotrack, createiso, burntrack2 함수를위한 스텁과 함께) 작동한다. –

답변

2

당신은 줄 끝에 61

가 인용하고 괄호처럼 보이는 라인에 닫는 괄호를 누락하는 것은 교환한다.

speed = raw_input("Recomended(4);Default(8))" 

speed = raw_input("Recomended(4);Default(8)") 
+0

나는 부끄러운듯한 당황에 숨기고 싶다. 그 점을 지적 해 주셔서 고맙습니다. 아마 다른 목적없이 코드의 섹션을 다시 작성하는 데 낭비했을 것입니다. – Insomaniacal

+2

걱정할 필요가 없습니다. 이것은 왜 전체 소스를 게시하는 것이 좋은지, 문제에 대한 또 다른 시각을 얻는 것입니다. –

0

질문에 붙여 넣은 코드는 공백과 함께 탭이있는 것으로 보입니다. 당신은 (PEP-8에 따라) 항상 공백을 사용하여을 파이썬으로 들여 쓰기해야합니다. 텍스트 편집기 설정을 확인하십시오.

아마도 으로 보이지만 파이썬 컴파일러에 의해 다르게 해석되는 탭과 스페이스가 혼합되어있을 수 있습니다. 파이썬 컴파일러는 다른 일관성없는 들여 쓰기를보고 SyntaxError를 던집니다.

업데이트 : 다른 답변에서 지적한 것처럼, 원래 질문에 표시되지 않은 코드 줄에는 닫는 괄호가 없습니다. 그럼에도 불구하고 귀하의 출처에있는 탭에 대한 저의 의견은 여전히 ​​유효합니다.

+0

그건 좋은 제안이지만, 실행중인 실제 코드는 모두 동일한 편집기 (탭 포함)로 포맷되었습니다. 게시하기 전에 문제가 아닌지 이미 확인했습니다. 그래도 제안에 감사드립니다! – Insomaniacal