File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__
self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?我糊涂了.
你需要知道什么来回答我的问题?
我有一台运行Python 2.6的Mac.当我尝试使用时,easy_install
我收到此消息:
/usr/bin/easy_install-2.6:7: UserWarning: Module pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
from pkg_resources import load_entry_point
/usr/bin/easy_install-2.6:7: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
from pkg_resources import load_entry_point
Traceback (most recent call last):
File "/usr/bin/easy_install-2.6", line 10, in <module>
load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 271, in load_entry_point
return False
File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2173, in load_entry_point
deps = []
ImportError: Entry point ('console_scripts', 'easy_install') …
Run Code Online (Sandbox Code Playgroud) 如果我A
按如下方式创建一个类:
class A:
def __init__(self):
self.name = 'A'
Run Code Online (Sandbox Code Playgroud)
检查__dict__
会员看起来像{'name': 'A'}
但是,如果我创建一个类B
:
class B:
name = 'B'
Run Code Online (Sandbox Code Playgroud)
__dict__
是空的.
是什么两者之间的区别,为什么没有name
在显示出来B
的__dict__
?
我刚刚注意到argparse中的一个行为使我感到困惑(我猜我之前从未使用它作为一个愚蠢的文件列表):
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('multi', action='append', nargs='+')
print(parser.parse_args())
Run Code Online (Sandbox Code Playgroud)
这给了我输出:
~$ ./testargs.py foo bar baz
Namespace(multi=[['foo', 'bar', 'baz']])
~$
Run Code Online (Sandbox Code Playgroud)
我希望multi
是['foo', 'bar', 'baz']
,不是一个列表中列表.按原样,我必须args.multi[0]
在处理之前抓住,这不是什么大问题,但感觉就像一个丑陋的疣,我想知道为什么它在那里.
我是在做傻事add_argument
,还是这只是一个不可避免的怪癖?
我终于得出结论,我再也不能仅仅希望正在进行的Py3k/WSGI 灾难问题能够很快得到解决,所以我需要做好准备继续前进.
不幸的是,我的可用选项看起来并不是很好:
当然有人在生产中在3.x上部署webapps.你使用什么网关接口,哪些模块/库,为什么?
一位朋友引起了我的注意,在我指出一个奇怪之后,我们都很困惑.
比方说,Python的文档已经说过至少2.5.1(还没有进一步检查:
比较可以任意链接,例如,x <y <= z等于x <y和y <= z,除了y仅被评估一次(但在两种情况下,当x <y被发现时,根本不评估z是假的).
我们的困惑在于"y仅被评估一次"的含义.
鉴于一个简单而有人工作的课程:
class Magic(object):
def __init__(self, name, val):
self.name = name
self.val = val
def __lt__(self, other):
print("Magic: Called lt on {0}".format(self.name))
if self.val < other.val:
return True
else:
return False
def __le__(self, other):
print("Magic: Called le on {0}".format(self.name))
if self.val <= other.val:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
我们可以产生这样的结果:
>>> x = Magic("x", 0)
>>> y = Magic("y", 5)
>>> z = Magic("z", 10)
>>>
>>> if x < y …
Run Code Online (Sandbox Code Playgroud) print OBJECT
打电话OBJECT.__str__()
,然后什么时候OBJECT.__repr__()
打电话?我看到,print OBJECT
调用OBJECT.__repr__()
时OBJECT.__str__()
不存在,但我希望这不是调用的唯一途径__repr__()
.
有人知道跟踪python中字典对象的更改的任何简单方法吗?我处于一个很高级别的crud,所以我有几个方法来处理更改字典,如果字典更改我想调用一个函数来基本上做一个Observer/Notify.
class MyClass(object):
def update(self, item):
changed = False
if(self.my_dict.has_key(item.id)):
self.my_dict[item.id] = item
changed = True
if(changed):
self.notify()
Run Code Online (Sandbox Code Playgroud)
我试图避免的是所有跟踪(设置布尔值)代码.希望有一种更简单的方法来跟踪变化.这是一个简单的例子,但可能有更复杂的逻辑导致我必须设置更改的标志.
对于单一赋值,我需要创建一个最多10个文件名的循环列表,然后将它们存储在共享内存区域中,这样2个子进程就可以读/写列表(使用信号量来控制访问).麻烦的是,我是一个全新的C新手,我感到失落和绝望,因为它完全超出了我的深度.我需要一些帮助来填补我的知识.
现在,我只是一次只关注它一个问题,而目前,我只是试图将我的循环列表放入共享内存区域.
到目前为止,我有:
typedef struct FILE
{
struct FILE *f_link; /* forward link for linked list */
char name[255]; /* name of the file */
} FILE_entry;
Run Code Online (Sandbox Code Playgroud)
作为我的结构,它将保存对下一个文件的引用(f_link).这样我就可以调用 - > f_link来获取列表中的下一个项目,并且第10个元素的f_link将直接返回到第1个.我这样做的原因是我可以在没有迭代器的情况下简单地遍历列表(并且不必像使用数组那样检查列表的结尾).
我也知道我需要用来shmget
获取内存区域,我理解它,我传递shmget
一个键,一个大小和一个标志(我没有得到),它返回一个int类型的标识符.
所以我的问题是2折.如何将链接列表存储到共享内存区域 - 如何从共享内存区域访问它?
如果我想找到所有带有BeautifulSoup的id = test的<p>元素,我使用:
for item in soup.findAll('p', {"id": "test"}):
Run Code Online (Sandbox Code Playgroud)
我如何找到每一个
ID以特定字母开头的元素 - 让我们说"t"?
我试过"t*"但它不起作用.
python ×9
argparse ×1
c ×1
easy-install ×1
fastcgi ×1
macos ×1
python-3.x ×1
sockets ×1
unix ×1
wsgi ×1