python中的多进程为两个不同的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的多进程为两个不同的函数相关的知识,希望对你有一定的参考价值。

我正在尝试做一个简单的音乐播放器。我想在听音乐时向用户提问。

在下一行中,如果用户不想再听音乐,我会添加一个音乐列表并让他选择,并且,在将来,我想要一些命令跳过下一个音乐和一些关于那。

P1 = str(input('wanna again? (Y/N)'))
    def DEF1():
        if P1 == ('Y'):
            P2 = str(input('do you know what is it? (Y/N)'))
            if P2 == ('Y'):
                P3 = str(input('what is it?'))
                print(P3)
            if P2 == ('N'):
                print('this is a game sound!')
        if P1 == ('N'):
            print('that is it')

    def DEF2():
        while:
            playsound.playsound('', True) #a music link

    if __name__ == '__main_':
        Process(target=DEF1).start()
        Process(target=DEF2).start()

问题是:我想同时启动两个进程(DEF1和DEF2),它是'while'和'if'函数,DEF1是我想为程序用户做的一些问题,以及DEF2如果是'while,那就是重复的音乐

答案

如果我理解正确并且您希望第二种方法根据P3的值播放另一种声音或歌曲,则需要根据用户选择从DEF1返回一个值。

所以除了'print(P3)'之外,你想要包括'return P3'。

然后从DEF2中调用DEF1,将返回值分配给变量,例如:

song = DEF1()

变量'song'然后保留问题答案的值:'它是什么?'

这样做是允许DEF2用所有问题和答案调用DEF1。

DEF2然后使用DEF1的返回来确定要播放的歌曲。所以不是while语句,你可能想要一个if语句(你的while语句无论如何都不会工作,因为它没有循环条件)。

现在当您依次调用DEF2,DEF2时,将为您调用DEF1。

以上是关于python中的多进程为两个不同的函数的主要内容,如果未能解决你的问题,请参考以下文章

python中的多线程为啥会报错?

python并发编程中的多进程(代码实现)

python3中的多处理在mac和linux上运行时得到不同的值

爬虫多进程

linux 中的多进程中,父进程与子进程共享的代码段和数据段、堆栈段,是整个程序还是出现在fork()函数后?

在 Python 多处理进程中运行较慢的 OpenCV 代码片段