给定一个IP地址(比如192.168.0.1),我该如何检查它是否在Python中的networking(比如192.168.0.0/24)? 在Python中是否有通用工具来处理IP地址? 东西像主机查找,IP地址添加到int,networking掩码到int等networking地址? 希望在2.5的标准Python库中。
我有一个在PHP中使用的curl调用: curl -i -H'Accept:application / xml'-u login:key“ https://app.streamsend.com/emails ” 我需要一种方法来在Python中做同样的事情。 Python中是否有cURL的替代方法? 我知道urllib,但我是一个Python noob,不知道如何使用它。
从一个例子中你可以看到一个多重查询filter: Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3)) 例如,这导致: [<Article: Hello>, <Article: Goodbye>, <Article: Hello and goodbye>] 但是,我想从列表中创build此查询filter。 怎么做? 例如[1, 2, 3] -> Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))
什么是实现__hash__()的正确和好方法? 我正在讨论的函数返回一个哈希码,然后用来插入哈希表又名字典的对象。 作为__hash__()返回一个整数,并用于“binning”对象到哈希表中我假设返回的整数值应该为公共数据均匀分布(以最小化冲突)。 获得这种价值的好习惯是什么? 碰撞是一个问题吗? 在我的情况下,我有一个小class,充当一个容器类,持有一些整数,一些浮点数和一个string。
在Perl中很多次,我会做这样的事情: $myhash{foo}{bar}{baz} = 1 我如何将其转换为Python? 到目前为止我有: if not 'foo' in myhash: myhash['foo'] = {} if not 'bar' in myhash['foo']: myhash['foo']['bar'] = {} myhash['foo']['bar']['baz'] = 1 有没有更好的办法?
我已经创build了文件夹并初始化了一个virtualenv实例。 $ mkdir myproject $ cd myproject $ virtualenv env 当我运行(env)$ pip freeze ,它会显示已安装的软件包。 现在我想将myproject/重命名为project/ 。 $ mv myproject/ project/ 但是,现在当我跑步 $ . env/bin/activate (env)$ pip freeze 它说pip没有安装。 如何在不破坏环境的情况下重命名项目文件夹?
我需要增加date时间值的月份 next_month = datetime.datetime(mydate.year, mydate.month+1, 1) 当月份是12时,变成13,并提出错误“月份必须在1..12”。 (我预计这一年会增加) 我想使用timedelta,但它不需要一个月的参数。 有相对的 Python包,但我不想只为此安装它。 也有使用strtotime的解决scheme。 time = strtotime(str(mydate)); next_month = date("Ymd", strtotime("+1 month", time)); 我不想从date时间转换到时间,然后到date时间; 因此,它也是一个图书馆 有没有人像使用timedelta有任何好的和简单的解决scheme?
我有一个Python set ,其中包含__hash__和__eq__方法的对象,以便确保集合中不包含重复项。 我需要json对这个结果set进行编码,但是将一个空set传递给json.dumps方法会引发一个TypeError 。 File "/usr/lib/python2.7/json/encoder.py", line 201, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode return _iterencode(o, 0) File "/usr/lib/python2.7/json/encoder.py", line 178, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: set([]) is not JSON serializable 我知道我可以创build一个具有自定义default方法的json.JSONEncoder类的扩展,但我甚至不知道从哪里开始转换set 。 我应该在默认方法中的set值之外创build一个字典,然后返回编码? 理想情况下,我想使默认的方法能够处理所有原始的编码器扼stream器上的数据types(我使用Mongo作为数据源,所以date似乎也引发这个错误) 任何提示正确的方向将不胜感激。 编辑: 感谢你的回答! 也许我应该更精确。 我利用(和upvoted)在这里的答案来解决被翻译的set的局限性,但也有内部的关键是一个问题。 集合中的对象是转化为__dict__复杂对象,但是它们本身也可以包含其属性的值,这些属性可能不适用于json编码器中的基本types。 有很多不同的types进入这个set […]
我尝试在Mac OS X 10.6.2上切换到Homebrew(使用fink和macport之后)。 我已经安装了Python 2.7 brew install python 问题是,与Macport相反,似乎没有python_select实用程序,并且我的默认mac python总是默认的 which python 给我吗 /usr/bin/python 和/usr/bin/python不是符号链接 我该如何做python brew的味道是我的默认python?
重复: 在Python中,如何获取当前正在执行的文件的path和名称? 如何获得我正在运行的Python脚本的path? 我正在做dirname(sys.argv[0]) ,但是在Mac上我只能得到文件名 – 而不是像我在Windows上完整的path。 无论我的应用程序从哪里启动,我都想打开与我的脚本文件相关的文件。