Вот так я делаю исполняемый скрипт.Это не учитывает eggs
или что-то подобное.Это простой скрипт, который я хочу выполнить.Я предполагаю, что вы используете Linux.
#! /usr/bin/env python
import sys
def main():
#
# Do something ... Whatever processing you need to do, make it happen here.
# Don't shove everything into main, break it up into testable functions!
#
# Whatever this function returns, is what the exit code of the interpreter,
# i.e. your script, will be. Because main is called by sys.exit(), it will
# behave differently depending on what you return.
#
# So, if you return None, 0 is returned. If you return integer, that
# return code is used. Anything else is printed to the console and 1 (error)
# is returned.
#
if an_error_occurred:
return 'I\'m returning a string, it will be printed and 1 returned'
# Otherwise 0, success is returned.
return 0
# This is true if the script is run by the interpreter, not imported by another
# module.
if __name__ == '__main__':
# main should return 0 for success, something else (usually 1) for error.
sys.exit(main())
Теперь, если ваши права доступа установлены правильно, вы можете выполнить этот сценарий.
Одна вещь, которую нужно понять, так как ваш сценарийОбрабатывается каждая строка, выполняется в интерпретаторе.Это верно, независимо от того, как процессор «получает это».Это означает, что импорт скрипта как модуля и выполнение его как скрипта, по существу, работают одинаково, поскольку обе они выполняют каждую строку модуля.
Как только вы поймете, что ваш скрипт просто выполняется во время работы, выпонимать, что порядок функций не имеет значения.Объявление функции - это объявление функции.Это когда вы вызываете функцию, которая имеет значение.
Итак, в общем, компоновка вашего скрипта выглядит следующим образом
def func1():
pass
def func2():
pass
def main():
return 0
if __name__ == '__main__':
sys.exit(main())
Высначала создайте функции, которые вы хотите использовать, а затем используйте их.Надеюсь, это поможет.