2019-09-08 15:11:52
4点赞
疯里来8愚里去
码龄6年
关注
最近在学习python多进程编程,windows10系统,python3编译器,IDE为pycharm。运行网上的多线程程序,发现无法输出结果,也不提示错误。代码如下:
import os
import sys
import multiprocessing
import time
import random
def worker(msg):
t_start = time.time()
print("%s开始执行,进程号为%d" % (msg, os.getpid()))
time.sleep(random.random()*2)
t_stop = time.time()
print(msg, "执行完毕,耗时%0.2f" % (t_stop-t_start))
def main():
po = multiprocessing.Pool(3)
for i in range(0, 10):
po.imap_unordered(worker, (i,))
print("----------start------------")
po.close()
po.join()
print("----------end------------")
if __name__ == '__main__':
multiprocessing.freeze_support()
main()
代码不复杂,但是在pycharm就是一直没反应,如下图:
经多番查询,发现这好像是一个无解的问题,在windows系统下,使用IDE(如pycharm),在子进程中无法使用print函数,这里给出了一种解决办法,可以参考。
虽然在IDE中不行,但是在windows下的cmd,或者linux下,是可以正常使用print函数的,如下图是我在cmd中运行上面的程序的结果:
这个问题我不知道怎么解决,看到的大佬们可以指导下我。
文章知识点与官方知识档案匹配
Python入门技能树预备知识常用开发工具
201130 人正在系统学习中
打开CSDN,阅读体验更佳
【Python】python多进程,函数内厅念print的内容没有打印出来_DemonHunter211...
原因:spyder使用的stdout和windows不支持forking,所以无法打印子进程内容。 The comments revealed that OP uses Windows as well as Spyder. Since Spyder redirectsstdoutand Windows does not supportforking, a new child process won'...
Python之Print引发的血案_碧落&凡尘的博客
百思不得其解之间, 就瞄到了那个笑伏陵print, 突然脑子里一闪而过打印日志的原理, 瞬间明白了, 主进程退出了, 定义的输碰戚出流对应的文件都没了, 这时候再print, 不出异常就有鬼了。 果然, 当不用print的时候, 各种花式调用都没问题......
利用pycharm简单实现多进程
python多进程需要使用进程池 from multiprocessing.pool import Pool import time def worker(x): print(worker+{number}.format(number=x)) time.sleep(1) return starttime = time.time() GROUP_START = 1 GROUP_END = 20 if __name__ == '__main__': pool = Pool(4) group = ([x for x in range(GROUP_START, GR
【Python有坑系列】python多进程,函数内print的内容没有打印出来
问题:python多进程,子函数内容没有打
怎么关掉打印?将打印内容重戚谨定向到/dev/null中,相当于直接丢弃,任何地方都找不到打印的内容
python your_script.py >>/dev/null &
如高乱基果又要查看打印的内容,怎么让它输出(还在运行)?
python your_script.py >>log.txt & #将输出重定向到当前目录下的log.txt文件中
cat log.txt # 查看截止目前所有的日志内容
tail log.txt # 查看截止目前,最后10行日志
tail -f log.txt # 从最陪搜后10行开始滚动输出,准实时刷新
tail -n 100 -f log.txt # 从最后100行开始滚动输出
遇到的问题:pycharm下执行print成功,但是不显示拦睁耐结果
解决办法是:
1.尝试新建文件,重新输入,无法解决
2.尝试DEBUG之后,再RUN,依旧无法显示早态
3.尝试选中文件名,右键,运简春行,显示结果,问题解决
更多技术请关注Python视频教程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)