pycharm怎么不print输出

pycharm怎么不print输出,第1张

记录使用pycharm进行多进程编程时,无法print输出子进程内容 原创

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视频教程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12466491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存