Python + ошибка Ubuntu - PullRequest
       4

Python + ошибка Ubuntu

2 голосов
/ 15 ноября 2010

Я пытаюсь запустить следующую программу на Python

import re
regex=re.compile("http...imgs.xkcd.com.comics.[\\S]*.[jpg|png]")
f=open('out.txt')
for a in f:
    print regex.findall(a)
    print '\n'

, когда я вручную набираю код в интерпретаторе, он работает как положено, но когда я сохраняю его в виде файла и пытаюсь запустить, он даетошибки.Команда, которую я использовал для запуска, это

chmod +x 
sudo ./pymod.py

ОШИБКА: ./pymod.py: 2: Синтаксическая ошибка: "(" неожиданно

, если я не использую sudo, я получаю ошибкуэто

./pymod.py: line 2: syntax error near unexpected token `('
./pymod.py: line 2: `regex=re.compile("http...imgs.xkcd.com.comics.[\\S]*.[jpg|png]")'

Я использую Ubuntu 10.04 со всем по умолчанию

требуется около 10-15 секунд для появления ошибки

Ответы [ 4 ]

3 голосов
/ 15 ноября 2010

Ваш файл должен начинаться с шебанга. Вы должны указать путь к интерпретатору python

#!/usr/bin/env python
import re
regex=re.compile("http...imgs.xkcd.com.comics.[\\S]*.[jpg|png]")

Выезд: http://en.wikipedia.org/wiki/Shebang_(Unix)

2 голосов
/ 15 ноября 2010

Вероятно, это выполняется как скрипт bash, а не в Python.Поместите

#!/usr/bin/env python

в начало вашего скрипта.

1 голос
/ 15 ноября 2010

Когда вы устанавливаете что-то как исполняемый, вы должны указать, с чем вы хотите, чтобы оно запускалось, или Linux сочтет это скриптом bash.

Добавьте это как первую строку файла:

#!/usr/bin/python

Или запустите как:

python pymod.py

ура!

0 голосов
/ 15 ноября 2010

Либо используйте «шебанг».Т.е. в качестве первой строки вашего скрипта укажите

#! /usr/bin/python 

.Или научите свою Ubuntu обращаться со скриптами Python без него, как описано здесь: http://www.daniweb.com/code/snippet241988.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...