鱼C论坛

 找回密码
 立即注册
查看: 1642|回复: 6

[已解决]我在A.PY里面有个t=input 现在我想把这个t传给另外一个py程序b

[复制链接]
发表于 2021-6-27 15:26:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在A.PY里面有个t=input 现在我想把这个t传给另外一个py程序B  这个B的内容是 if a.t !=number :
                                                                                                                                 sys.exit(0)
最佳答案
2021-6-27 15:34:15
本帖最后由 nahongyan1997 于 2021-6-27 15:38 编辑

a.py
t = None 必须有默认值

t = input("输入:")


b.py
while True:
    if a.t != None:
        result = a.t
        a.t = None
        break
    else:
        time.sleep(1)

print(result)

就是b模块不断检测a的值,发现有变化就获取过来然后还原回默认值,这样就能在后面的程序里重用了(注意:必须要用多线程,否则根本不会出现你要的效果)

如果你只是想退出程序还不如直接在 a.py 里 sys.exit()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-27 15:27:09 | 显示全部楼层
那么问题是什么呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-27 15:30:25 | 显示全部楼层
我该怎么把输入的t发出去  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-27 15:34:15 | 显示全部楼层    本楼为最佳答案   
本帖最后由 nahongyan1997 于 2021-6-27 15:38 编辑

a.py
t = None 必须有默认值

t = input("输入:")


b.py
while True:
    if a.t != None:
        result = a.t
        a.t = None
        break
    else:
        time.sleep(1)

print(result)

就是b模块不断检测a的值,发现有变化就获取过来然后还原回默认值,这样就能在后面的程序里重用了(注意:必须要用多线程,否则根本不会出现你要的效果)

如果你只是想退出程序还不如直接在 a.py 里 sys.exit()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-27 18:29:49 | 显示全部楼层
b等a , a等用户?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-27 21:00:36 | 显示全部楼层

多线程怎么 用啊 能简单举个例子先让我理解吗 百度的太专业性了‘

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-27 21:18:35 | 显示全部楼层
#coding=utf-8
import threading
from time import ctime,sleep


def music(func):
    for i in range(2):
        print "I was listening to %s. %s" %(func,ctime())
        sleep(1)

def move(func):
    for i in range(2):
        print "I was at the %s! %s" %(func,ctime())
        sleep(5)

threads = []
t1 = threading.Thread(target=music,args=('爱情买卖',))   # music 是函数名,爱情买卖是函数的实参,注意args必须是元组类型 ("1",) 如果只有一个参数的话逗号必须有。从别的模块导入进来的函数也可以这样使用。
threads.append(t1)
t2 = threading.Thread(target=move,args=('阿凡达',))
threads.append(t2)

if __name__ == '__main__':
    for t in threads:
        t.setDaemon(True)
        t.start()

    print "all over %s" %ctime()

另外编程找资料推荐三个网站,csdn、博客园、知乎

代码来源 https://www.cnblogs.com/fnng/p/3670789.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 06:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表