我正在尝试调试应用程序,它不是一个方便运行WireShark的地方.
我一直在使用"tcpdump -nn -x -X port 25",但输出并不是最方便的格式.思考?
这是它的长短.先短:
因此,在崩溃之后的某个地方,有一个或多个文件导致Eclipse在尝试恢复我正在编辑的文件时挂起,或以其他方式处理我的工作区.以下是我的.log文件中的一些相关例外:
从第2点开始:
!ENTRY org.eclipse.core.resources 2 10035 2011-01-24 11:21:33.870
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.core.resources 8 2 2011-01-24 11:21:35.040
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 1
org.eclipse.core.runtime.CoreException: SDK is not loaded yet
at com.android.ide.eclipse.adt.internal.build.builders.BaseBuilder.stopBuild(Unknown Source)
at com.android.ide.eclipse.adt.internal.build.builders.BaseBuilder.abortOnBadSetup(Unknown Source)
at com.android.ide.eclipse.adt.internal.build.builders.ResourceManagerBuilder.build(Unknown Source)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at …Run Code Online (Sandbox Code Playgroud) 我正在为我的所有Google App Engine数据存储类编写一个超类,看起来像这样:
class MemcacheMixin(object):
@classmethod
def cache_get_by_id(cls, id, parent=None):
if memcache.has_key(...):
...
...
class MyEntity(db.Model, MemcacheMixin):
...
obj = MyEntity.cache_get_by_id(...)
Run Code Online (Sandbox Code Playgroud)
我的想法是,我几乎总是想要缓存数据存储对象,我不想重复自己.我假设有人必须已经解决了这个需求并编写了一个通用工具来缓存这些东西,这些工具可以很好地集成到数据存储类的工作方式中.
但是,我还没有找到它.有什么建议?
考虑以下:
from datetime import datetime
import pytz
new_years_in_new_york = datetime(
year=2020,
month=1,
day=1,
hour=0,
minute=0,
tzinfo = pytz.timezone('US/Eastern'))
Run Code Online (Sandbox Code Playgroud)
我现在有一个日期时间对象,代表纽约 1 月 1 日午夜。奇怪的是,如果我使用 pytz 将其转换为 UTC,我会得到一个奇怪的日期时间,相差几分钟:
new_years_in_new_york.astimezone(pytz.utc)
# datetime.datetime(2020, 1, 1, 4, 56, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
请注意,纽约的午夜(以 pytz 表示)是UTC 时间的4:56。在 Stack Overflow 上的其他地方,我了解到这是因为pytz 使用您的/usr/share/zoneinfo数据,该数据在标准化之前使用本地平均时间来考虑时区。这可以在这里显示:
pytz.timezone('US/Eastern')
# <DstTzInfo 'US/Eastern' LMT-1 day, 19:04:00 STD>
Run Code Online (Sandbox Code Playgroud)
看到了吗LMK-1 day, 19:04:00 STD?这是当地平均时间偏移,不是我想要的偏移,这是美国/东部时间而不是夏令时。
有没有办法强制 pytz 使用当前基于当前日期的标准偏移量集?2020 年新年,应该是 UTC-5。如果我提供的日期是在夏令时期间,我需要 UTC-4。我很困惑为什么 pytz 会在 2020 年日期使用基于 LMT 的偏移量。
我从另一个 StackOverflow 答案中借用了这段代码:
from PyQt4 import QtCore
@QtCore.pyqtSlot(str)
def directory_changed(path):
print('Directory Changed!!!')
@QtCore.pyqtSlot(str)
def file_changed(path):
print('File Changed!!!')
fs_watcher = QtCore.QFileSystemWatcher(['/path/to/files_1', '/path/to/files_2', '/path/to/files_3'])
fs_watcher.connect(fs_watcher, QtCore.SIGNAL('directoryChanged(QString)'), directory_changed)
fs_watcher.connect(fs_watcher, QtCore.SIGNAL('fileChanged(QString)'), file_changed)
Run Code Online (Sandbox Code Playgroud)
问题是,file_changed无论如何都不会被调用。directory_changed例如,在添加文件时可靠地调用,但更改文件内容不会导致调用 file_changed。
我调用了 的一些变体QtCore.SIGNAL('fileChanged(QString)'),例如,QtCore.SIGNAL('fileChanged(const QString &)')无济于事。没有警告或错误——它只是不触发该功能。
推荐?