我很困惑为什么OpenTelemetry 文档有 OpenTelemetry Python API 和 OpenTelemetry Python SDK。
就像在python中使用规范的时候我们应该考虑pip install opentelemetry-api一下pip install opentelemetry-sdk
def connect_imap():
m = imaplib.IMAP4_SSL("imap.gmail.com", 993)
print("{0} Connecting to mailbox via IMAP...".format(datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")))
details = login_credentials()
m.login(details[0], details[1])
return m
m = connect_imap()
typ, data = m.search(None, 'ALL')
m.close()
m.logout()
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是:
2016-08-24 10:55:34 Connecting to mailbox via IMAP...
Traceback (most recent call last):
File "/home/zoikmail/Desktop/test.py", line 25, in <module>
typ, data = m.search(None, 'ALL')
File "/usr/lib/python2.7/imaplib.py", line 640, in search
typ, dat = self._simple_command(name, *criteria)
File "/usr/lib/python2.7/imaplib.py", line 1088, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/usr/lib/python2.7/imaplib.py", line 838, in …Run Code Online (Sandbox Code Playgroud) x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is y1)
print(x2 is y2)
print(x3 is y3)
Run Code Online (Sandbox Code Playgroud)
输出
True
True
False
Run Code Online (Sandbox Code Playgroud)
为什么 Python 会为 分配不同的 id y3,而不是x3?
这里x3和y3是列表,但 Python 也对元组和字典做同样的事情。我还想知道 Python 在哪里还有相同的行为,将新的 id 分配给具有相同值的变量,为什么会这样?
根据python文档.
str.split([sep [,maxsplit]])
如果未指定sep或为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾处不包含空字符串.因此,将空字符串或仅由空格组成的字符串拆分为None分隔符将返回[].
但,
str = 'L1 \nL2 \nL3'
print str.split()
Run Code Online (Sandbox Code Playgroud)
回报 ['L1','L2','L3']
当我通过 ubuntu 15.04 终端运行命令时
芹菜工人 -A celery_blog -l inf -c 5
我总是得到
找不到已安装的 python-django 或 python3-django 版本。
虽然我已经为 python 2.x 和 3.x 安装了 django,但您也可以参考附加的屏幕截图。
另外,为什么在运行 celery worker 时甚至要求 django?