2014-09-25 4 views
1

Предположим, у меня есть сценарий Python, который я хочу запустить, выполняя вне командной строки, просто дважды щелкнув его в проводнике файлов. Когда я дважды щелкнул файл .py, появится красная строка командной строки, а затем исчезнет. Что мне нужно записать в файл, чтобы включить это?Выполнение исполняемого скрипта Python

Мне будет интересен ответ как для Windows, так и для Linux, пожалуйста!

+0

Вы одна машина или окна Linux? –

+0

Ну, я использую Windows в основном, но я заинтересован в обоих случаях! – Karnivaurus

+0

Когда вы дважды щелкаете файл .py, что происходит? Появляется ли черный ящик и исчезает? – MackM

ответ

0

Ваш скрипт работает, и когда все готово, оно закрывается. Чтобы увидеть результаты, вам нужно добавить что-то, чтобы остановить его. Попробуйте добавить это в качестве последней строки в вашем скрипте:

staller = intput("Press ENTER to close") 
1

Под Linux, вам придется сделать .py исполняемый файл

chmod 750 mypyprog.py 

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

#!/usr/bin/python3 
print('Meow :3')    # <- replace this by payload 

Если вы хотите просмотреть результаты до того, как окно оболочки закрытия, а Staller в конце (как показано MackM) равен и seful:

input('Press any key...') 

Как видно из комментариев, вы уже освоенных шаги 1 и 2, так что 3 будут ваш друг.

Windows не знает о shebangs. Вам нужно будет связать расширение .py с интерпретатором Python, как описано in the documentation. Для этого интерпретатор python не должен находиться в PATH, потому что здесь может быть указан полный путь.

+2

Шейбан может быть также '#!/Usr/bin/env python3' , Это еще более гибко, потому что не важно, где установлен python3. – cezar

0

Im уверен, что правильный способ сделать это было бы что-то вроде

#somefile.py 

def some_definition_you_want_to_run(): 
    print("This will print, when double clicking somefile.py") 

#and then at the bottom of your .py do this 
if __name__ == "__main__": 
    some_definition_you_want_to_run() 
    #next line is optional if you dont "believe" it actually ran 
    #input("Press enter to continue") 

это делает его таким образом все, что находится под если заявление происходит при открытии его снаружи (не тогда, когда вы импортировать его, потому что " имя «оленья кожа ==» главный "в то время)

Чтобы запустить его, просто дважды щелкните по нему. и BOOM он работает.

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