Python 2.7 Pyreadline与scapy不能正常工作

Python 2.7 Pyreadline与scapy不能正常工作,python-2.7,scapy,Python 2.7,Scapy,我在windows环境中与scapy一起工作。但我无法在控制台上读取输出。问题在于我导入scapy的特定文件。如果我直接运行scapy,那么控制台上的输出是可读的格式 Welcome to Scapy (2.3.3) Working >>> packet = TCP() >>> packet.show() ←[0m###[←[0m ←[31m←[1mTCP←[0m ←[0m]###←[0m ←[34msport←[0m←[0m=←[0m ←[35mftp_

我在windows环境中与scapy一起工作。但我无法在控制台上读取输出。问题在于我导入scapy的特定文件。如果我直接运行scapy,那么控制台上的输出是可读的格式

Welcome to Scapy (2.3.3)
Working
>>> packet = TCP()
>>> packet.show()
←[0m###[←[0m ←[31m←[1mTCP←[0m ←[0m]###←[0m
  ←[34msport←[0m←[0m=←[0m ←[35mftp_data←[0m
  ←[34mdport←[0m←[0m=←[0m ←[35mhttp←[0m
  ←[34mseq←[0m←[0m=←[0m ←[35m0←[0m
  ←[34mack←[0m←[0m=←[0m ←[35m0←[0m
  ←[34mdataofs←[0m←[0m=←[0m ←[35mNone←[0m
  ←[34mreserved←[0m←[0m=←[0m ←[35m0←[0m
  ←[34mflags←[0m←[0m=←[0m ←[35mS←[0m
  ←[34mwindow←[0m←[0m=←[0m ←[35m8192←[0m
  ←[34mchksum←[0m←[0m=←[0m ←[35mNone←[0m
  ←[34murgptr←[0m←[0m=←[0m ←[35m0←[0m
  ←[34moptions←[0m←[0m=←[0m ←[35m[]←[0m

>>>
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "C:\Python27\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Python27\lib\site-packages\scapy\main.py", line 244, in scapy_write_h
istory_file
    readline.write_history_file(conf.histfile)
  File "C:\Python27\lib\site-packages\pyreadline\rlmain.py", line 169, in write_
history_file
    self.mode._history.write_history_file(filename)
  File "C:\Python27\lib\site-packages\pyreadline\lineeditor\history.py", line 94
, in write_history_file
    fp.write(ensure_str(line.get_line_text()))
  File "C:\Python27\lib\site-packages\pyreadline\lineeditor\lineobj.py", line 25
6, in get_line_text
    buf = list(map(ensure_unicode, buf))
NameError: global name 'map' is not defined
Error in sys.exitfunc:
Traceback (most recent call last):
  File "C:\Python27\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Python27\lib\site-packages\scapy\main.py", line 244, in scapy_write_h
istory_file
    readline.write_history_file(conf.histfile)
  File "C:\Python27\lib\site-packages\pyreadline\rlmain.py", line 169, in write_
history_file
    self.mode._history.write_history_file(filename)
  File "C:\Python27\lib\site-packages\pyreadline\lineeditor\history.py", line 94
, in write_history_file
    fp.write(ensure_str(line.get_line_text()))
  File "C:\Python27\lib\site-packages\pyreadline\lineeditor\lineobj.py", line 25
6, in get_line_text
    buf = list(map(ensure_unicode, buf))
NameError: global name 'map' is not defined

通过安装“Colorama”软件包,可以解决此问题。这个问题已经在下面讨论过了,并给出了答案。安装包后,我在脚本中添加了以下代码

from colorama
init(convert=True)