Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2014 14:44:43

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import glob
PARAMETRS = ['user_pref("browser.slowStartup.samples", 2);\n',
            'user_pref("browser.startup.homepage", "https://www.google.com/");\n',
            'user_pref("dom.disable_open_during_load", false);\n'
                ]
def config_changer(parametrs):
    """ change firefox preferences file  """
    names = glob.glob("/home/*/.mozilla/firefox/*.default/prefs.js") 
    for name in names:
        with open(name, 'r') as config_read:
            config = config_read.readlines()
            user_name = name.split("/")[2]
            print user_name,
            for line in config:
                for parametr in parametrs:
                    if line.startswith(parametr[:36]):
                        config[config.index(line)] = ""
            for line in config:
                parametrs += line
        with open(name, 'w') as config_save:
            config_save.writelines(parametrs)
if __name__ == "__main__":
    config_changer(PARAMETRS)

вот такой скрипт. пашет как задумано при запуске командой
python script_name.py
, но если сделать
chmod +x
и попытаться запустить просто по имени(с указанием полного пути), то баш выдает ошибку
: No such file or directory
- именно так, без указания какого именно файла.

если просто запустить
/usr/bin/env python
интерпретатор стартует.

Офлайн

#2 Май 22, 2014 14:55:54

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

./ script_name.py
?

Офлайн

#3 Май 22, 2014 15:04:30

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

Singularity
./ script_name.py ?

и
./script_name.py
и
/home/user/script_name.py
все это пробовал

Офлайн

#4 Май 22, 2014 15:09:26

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

Если полностью затереть две первые строчки с #, а затем ввести их по новой, ситуация изменится?

Офлайн

#5 Май 22, 2014 15:22:12

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

если в shebang прописать

!#/usr/bin/python
то выдаст
 sudo: unable to execute /home/user/script_name.py: No such file or directory
, хотя именно там скрипт и лежит

Офлайн

#6 Май 22, 2014 15:24:38

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

Shaman
Если полностью затереть две первые строчки с #, а затем ввести их по новой, ситуация изменится?
нет, затер до импорта все, а затем ввел руками - никаких изменений.

Офлайн

#7 Май 22, 2014 15:32:09

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

Косяк был где-то в файле - тот же текст вбитый по-новой работает как и положено

Офлайн

#8 Май 22, 2014 23:29:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

dagost
если в shebang прописать
Это комментарий такой. Поэтому начинается он с #.
А внутри комментария уже стоит признак запуска - !.
А после него пишется что запускать - /usr/bin/env, и с какими аргументами - python.
Затем, со следующей строки, идёт содержимое, которое передаётся этой запускаемой программе.

dagost
то выдаст
А если поставить сначала !, это означает запуск команды из истории оболочки.

dagost
Косяк был где-то в файле - тот же текст вбитый по-новой работает как и положено
cat -vet script.py
Это бывает, когда файл создаёшь под виндой. Там \r пишется, который в лине не используется.



Отредактировано py.user.next (Май 22, 2014 23:40:55)

Офлайн

#9 Май 23, 2014 08:30:15

dagost
Зарегистрирован: 2014-05-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается скрипт из командной строки

dagost
!#/usr/bin/python
это я на сайте вбил, опечатался
py.user.next
cat -vet script.py
- то что надо файл действительно был под виндой создан и команда показала
^M
в конце каждой строчки в неработающем файле, спасибо за помощь!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version