当前位置:  开发笔记 > 编程语言 > 正文

Python - 图书馆问题

如何解决《Python-图书馆问题》经验,为你挑选了1个好方法。

我对Python比较陌生,并且在使用Python网络操作工具Scapy编程时遇到了问题.但是,我不知道它是否与Scapy问题一样多,因为它是一个傻瓜新手问题.在scapy网站上,他们提供了一个我无法在自己的机器上运行的示例程序:

#! /usr/bin/env python

import sys
from scapy import sr1,IP,ICMP

p=sr1(IP(dst=sys.argv[1])/ICMP())
if p:
    p.show()

我得到了:

Traceback (most recent call last):
  File "test.py", line 4, in 
    from scapy import sr1,IP,ICMP
ImportError: cannot import name sr1

所以我的问题是:在安装Python库时,我是否需要更改路径或类似内容?另外,我可以在解释器中运行一些东西来告诉我scapy包的内容吗?我可以运行from scapy import *得很好,但由于我不知道里面有什么,所以很难使用它.



1> ddaa..:

来自Federico Ramponi的警告"你应该使用scapy作为自己的翻译,而不是作为一个图书馆",我想回答问题的非scapy特定部分.

问:安装Python库时,是否需要更改路径或类似内容?

答:我认为你在谈论改变PYTHONPATH整个系统.这通常不是必需的或者是个好主意.

第三方Python库应安装在系统目录中,例如/usr/lib/python2.5/site-packages,或安装在本地,在这种情况下,您可能希望PYTHONPATH在Makefile或驱动程序shell脚本中进行设置.

问:另外,我可以在翻译中运行一些东西来告诉我scapy包的内容吗?

答:您可以这样做:

>>> import scapy
>>> dir(scapy)

甚至更好:

>>> import scapy
>>> help(scapy)

在评论中提出了奖金问题.

问: "进口scapy"与'scapy import*'相同吗?

答: import scapy将本地命名空间中的scapy名称绑定到scapy模块对象.OTOH from scapy import *不绑定模块名称,但scapy模块中定义的所有公共名称都绑定在本地名称空间中.

请参阅Python参考手册的第6和第7段,6.12 import语句.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有