在UNIX中如何转换为epoch毫秒日期字符串,如:
19-FEB-12
16-FEB-12
05-AUG-09
Run Code Online (Sandbox Code Playgroud)
我需要这个将这些日期与服务器上的当前时间进行比较.
我觉得这个问题的答案应该很简单,但是我要寻找的路径并没有找到答案。这是 git log 命令的示例输出(带有一些选项)(文件名已更改以保护无辜者):
$ git log --pretty=%H --follow --name-status -- plans/some_file
997efbccfb0c54f95dd3c22498e47d2971caff0d
C070 plans/some_files_previous_name plans/some_file
9a265ea5f5b232ec778fb0193ff2f48b3ea25cdf
A plans/some_files_previous_name
eadecec4b743cc33e16a4eabf68e35cac62c0fa0
D plans/some_files_previous_name
dc408368cf6f80c841f94f58e4c5dc3283929483
M plans/some_files_previous_name
8feb7d99b92a993cd8c95506c8d419e4f59d513e
Run Code Online (Sandbox Code Playgroud)
第一个条目的状态部分中 C 后面的 070 是什么意思?
我的结构是这样的:
companynamespace/
__init__.py
projectpackage/
__init__.py
somemodule.py
Run Code Online (Sandbox Code Playgroud)
companynamespace/__init__.py 是空的
projectpackage/__init__.py 有这条线:
import companynamespace.projectpackage.somemodule as module_shortname
Run Code Online (Sandbox Code Playgroud)
当我打开一个python控制台并输入import companynamespace.projectpackage(为此正确设置PYTHONPATH)时,我就AttributeError: 'module' object has no attribute 'projectpackage'开始了import companynamespace.projectpackage.somemodule as module_shortname.如果我删除as module_shortname部分(并在文件的其余部分中进行所有必要的替换),一切都正确导入.
谁能告诉我为什么会这样?我的Google-Fu让我失望了.
我有一项服务,该服务的行为一直在代理后面进行调试。代理是一个黑匣子,但是可以使用以下简单的python程序来模拟服务的行为:
#!/usr/bin/env python
import socket
import sys
import time
PORT = int(sys.argv[1] or 50007)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind(('', PORT))
s.listen(1)
conn, addr = s.accept()
print('conn from %s' % (addr,))
data = conn.recv(1024)
time.sleep(1)
conn.sendall(data)
finally:
conn.close()
s.close()
Run Code Online (Sandbox Code Playgroud)
当我使用netcat直接连接到此服务器时,我得到了预期的行为,即在用换行符向stdin发送一些任意文本之后,服务器延迟一秒钟,将其回显并关闭连接。但是,当我将此服务放在代理后面时,netcat会立即以状态0退出,除非我给它提供带有非零数字的-q选项,此后其行为与直接连接相同。
在我的系统上从netcat的手册页中引用:
Run Code Online (Sandbox Code Playgroud)-q after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.
我要调试的是代理连接行为的不同之处,它将导致连接行为与-q选项不同,并且不幸的是,手册页在帮助我方面没有做什么。如果不是我的输入(它从未收到我的EOF),它指的是“ stdin”?-q长时间忽略什么EOF才能从中接收代理返回的数据,而在没有代理进行中介连接时,它不必忽略呢?
编辑:根据要求,这里有一些示例调用,尽管它们与获得的基本一样:
# after starting the example server on <someserver> with <someport
$ echo …Run Code Online (Sandbox Code Playgroud) 这是一些代码:
foo = "Bears"
"Lions, Tigers and %(foo)s" % locals()
Run Code Online (Sandbox Code Playgroud)
我的PEP8 linter(SublimeLinter)抱怨这个,因为foo是"未引用的".我的问题是PEP8是否应该将这种类型的字符串插值计为"引用",或者是否有充分的理由考虑这种"坏的风格".