python代码没错但运行不出来

Python058

python代码没错但运行不出来,第1张

     python代码没错但运行不出来是什么原因呢?不知道的小伙伴来看看今天的分享吧!

      1、python代码没错但运行不出来的原因:

      某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用。但是当后台运行采取重定向方式输出到某一文件时,发现并没有内容输出,命令如下:

      pythonxxx.py>xxx.log&

      测试发现,当前台直接输出到终端时正常,使用后台运行重定向的方式输出到文件中时无法输出。

      2、解决办法:

      发现是在程序运行时,输出有缓存,只有当程序运行结束或者缓冲区满后才会输出。因为程序是一致在运行的所以不可能等待程序结束在输出。并且要求是有实时性的所以等缓冲区满输出的方式也不可取。

      所以采用在python运行时加上-u参数,如:

      python-uxxx.py>xxx.log&

      -u参数的意义是不使用缓冲的方式输入输出

      详细如下:

      Forcestdin,stdoutandstderrtobetotallyunbuffered.Onsystemswhereitmatters,alsoputstdin,stdoutandstderrinbinarymode.Notethatthereisinternalbufferinginxreadlines(),readlines()andfile-objectiterators("forlineinsys.stdin”)whichisnotinfluencedbythisoption.Toworkaroundthis,youwillwanttouse"sys.stdin.readline()”insidea"while1:”loop.

      补充知识:python中运行代码时没有报错但是也没有输出而且还有exitcode0的结束标志

      如下所示:

      f=open("passwd.txt",'r')

      print(f.read(4))

      f.close()

      这是想要执行的代码

      passwd.txt中的内容

      ntp:x:38:38::/etc/ntp:/sbin/nologin

      apache:x:48:48:Apache:/var/www:/sbin/nologin

      saslauth:x:498:76:Saslauthduser:/var/empty/saslauth:/sbin/nologin

      postfix:x:89:89::/var/spool/postfix:/sbin/nologin

      gdm:x:42:42::/var/lib/gdm:/sbin/nologin

      pulse:x:497:496:PulseAudioSystemDaemon:/var/run/pulse:/sbin/nologin

      但是输出的结果是

      Processfinishedwithexitcode0

      后来排查发现原来是解释器的问题

      我之前使用的解释器是pycharm提供的虚拟解释器

      #####如何查看解释器

      点file?C>newprojects

      如果选择的是2就是使用了pycharm提供的虚拟解释器,又因为passwd.txt文件不是在虚拟环境中的所以就没有输出。

      点击3然后选择你已经下载好的解释器即可。

      以上就是今天的分享了,希望可以帮助到大家。

您进入了Python模块的帮助文档这个命令行下,很显然,这个命令行只有两个命令可以供您选择:'b'、'q'。输入'b'打开browser,输入'q'退出该命令号!

建议先输入'q' ,然后回车,先退出来再说。

如果您喜欢这种黑窗口里面编写print,建议使用"Win + R",在弹出对话框中输入"cmd"

打开命令行界面。

然后界面上输入“Python”,这样您就进入了Python环境,尽情的输入print语句吧!

下面是具体的过程,截图不容易,希望采纳!!!

具体过程

谢谢!

有以下几点原因:

第一,有可能是只安装了pycharm,没有装anaconda,没有给编辑器添加解释器,所以运行不了代码。

第二,有可能是代码错误,如果下边爆红了,而且会有警告等词语,代码也无法运行。

第三,有可能是编辑器内部环境错误,没有添加编译环境。

pycharm主要功能

编码协助:其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。

项目代码导航:该IDE可帮助用户即时从一个文件导航至另一个,从一个方法至其申明或者用法甚至可以穿过类的层次。若用户学会使用其提供的快捷键的话甚至能更快。

代码分析:用户可使用其编码语法,错误高亮,智能检测以及一键式代码快速补全建议,使得编码更优化。

Python重构:有了该功能,用户便能在项目范围内轻松进行重命名,提取方法/超类,导入域/变量/常量,移动和前推/后退重构。