【问题标题】:Python doesn't print with import scapyPython 不使用 import scapy 打印
【发布时间】:2015-06-12 21:20:14
【问题描述】:

当我输入此代码时:

print "hhhh"
from scapy.all import sniff
print "bbbb"

这是输出:

C:\Python27\python.exe C:/Users/Tamir/PycharmProjects/SIP/main.py
hhhh
WARNING: No route found for IPv6 destination :: (no default route?)

Process finished with exit code 0

为什么第二次打印(“bbbb”)不起作用? 当我将导入行放在注释中或导入另一个库时,它可以工作。

【问题讨论】:

  • 导入不工作。这会引发异常并且程序在到达打印"bbbb" 的行之前退出。
  • @RafaelBarros,那么退出码不应该为0,应该有回溯,ImportError:...
  • @user3146359,你在哪里运行这个,pycharm?
  • @PadraicCunningham 我在“JetBrains PyCharm Community Edition 3.4.1”上运行它
  • @user3146359,如果您添加print(sniff),您会看到任何输出吗?您的代码没有错误,因为您的退出状态为 0,警告也证明导入成功,因此您应该看到打印输出

标签: python printing import scapy


【解决方案1】:

sys.stdout 被重定向到 readline 控制台。以这种方式与 pycharm 似乎不能很好地配合使用。 请检查:“PYTONPATH\Lib\site-packages\scapy\arch\windows__init__.py”

临时解决方案:将stdout重定向到原来的那个

试试这个:

import sys
print "hhhh"
orig_stdout = sys.stdout
from scapy.all import sniff
sys.stdout =  orig_stdout
print "bbbb"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多