2013-04-27 3 views
0

Я пытаюсь использовать подпроцессы в Python, но я не понимаю, можно ли его использовать с помощью функции, потому что в официальной документации на Python синтаксис subprocess.Popen принимает аргументы, но я ничего не вижу которые могут быть связаны с функцией. Или есть другой способ создать новый процесс, посвященный функции без подпроцесса?Использование подпроцесса с функцией?

+0

Действительно ли вам нужен подпроцесс? Как насчет потоков? – gatto

ответ

1

Что вам нужно многопроцессорное не subprocessing

http://docs.python.org/library/multiprocessing.html#the-process-class

from multiprocessing import Process 

def my_function(name): 
    print "My name is %s" % name 

if __name__ == '__main__': 
    p = Process(target=my_function, args=('Yarkee',)) 
    p.start() 
    p.join() # this blocks until the process terminates 
+0

Я пробовал многопроцессорную обработку, но он всегда конфликтует с tkinter (используется для графического интерфейса). – Pollux

0

Питона подпроцесса модуля может быть использован для вызова внешних программ, как это:

import subprocess 
subprocess.call(["ls", "-l"]) 

Хотя многопроцессорность, указанная @Yarkee, связана с функцией, поэтому вероятно, то, что вы ищете.

Смежные вопросы