Вызов скрипта python из командной строки дает синтаксическую ошибку, когда класс ничего не наследует, почему?
Этот вопрос не имеет для меня никакого реального значения. Я просто обнаружил это по совпадению, и мне любопытно, что за ним стоит механика. Я получил сценарий примера:
#!/usr/bin/env python """ just an example """ class exampleClass(): 'this is just an example' if __name__ == '__main__': print(__doc__)
Запустив это в eclipse, напечатайте «просто пример». Однако, когда я пытаюсь запустить это в терминале, я получаю следующую ошибку:
File "./temp.py", line 6 class exampleClass(): ^ SyntaxError: invalid syntax
Теперь, когда я изменяю класс в примере скрипта, чтобы наследовать от dict
class exampleClass(dict):
и запустить его из командной строки, он также печатает «просто пример». Итак, почему классы должны наследовать что-то для работы из командной строки, но не от затмения?
- Как загружать файлы с помощью Python?
- Обтекание приложения интерактивной командной строки в скрипте python
- Как получить «командную строку intellisense» (TAB TAB) для работы с скриптом Python?
- Как просмотреть фактическую команду, выполняемую «subprocess.check_call ()»
- Отправка электронной почты в Python из исполняемого файла
Согласно грамматике Python 2.7.2 , следующий синтаксис неверен:
class exampleClass(): 'this is just an example'
Это должно быть либо
class exampleClass: 'this is just an example'
или
class exampleClass(object): # or `dict' etc 'this is just an example'
По всей вероятности, вы используете две разные версии интерпретатора Python, и по какой-либо причине один из интерпретаторов допускает недопустимый синтаксис, а другой – нет.
Вы не должны использовать скобки
class exampleClass: pass
если вы не хотите наследовать от другого класса, например:
class exampleClass(object): pass
- Поиск минимального значения в двоичном дереве, Python
- Python: как получить правильный список при расколе?
- Есть ли библиотека Python, которая облегчает создание утилит CLI, таких как команды управления Django?
- Как запустить ipython из оболочки, запустив «python …»?
- выполнение скрипта python из php под окнами
- Выполнение командной строки в другой папке
- Как запустить контекстно-зависимые команды в Python?
- Как принять строку, начинающуюся с # в python?
- Как узнать, был ли запущен скрипт python с использованием опции -m интерпретатора?
- Полная командная строка, когда она была напечатана
- Как я могу указать, что некоторые аргументы командной строки являются обязательными в Python?