小编Par*_*and的帖子

根据cron规范计算下一个预定时间

在给定当前时间和cron规格的情况下,计算事件的下一个运行时间的有效方法是什么?

我正在寻找除"每一分钟检查它是否符合规格"之外的其他内容.

规范示例可能是:

  • 每个月,1日和15日15:01
  • 每小时10,20,30,40,50分钟

Python代码很可爱,但是psuedo代码或高级描述也会受到赞赏.

[更新]假设规范已经解析并且格式合理.

python algorithm cron scheduler

14
推荐指数
1
解决办法
6497
查看次数

针对非ascii的弹性,实际工作的CSV实现?

[更新]欣赏答案并输入所有内容,但最受欢迎的是工作代码.如果您可以提供可以读取示例文件的代码,那么您就是王(或女王).

[更新2]感谢您的出色答案和讨论.我需要做的就是读取它们,解析它们,并将它们的一部分保存在Django模型实例中.我相信这意味着将它们从原生编码转换为unicode,因此Django可以处理它们,对吧?

关于非ascii python CSV读取的主题,Stackoverflow上有几个 问题,但是那里和python文档中显示的解决方案不适用于我正在尝试的输入文件.

解决方案的要点似乎是编码('utf-8')CSV读取器的输入和unicode(item,'utf-8')读取器的输出.但是,这会遇到UnicodeDecodeError问题(参见上面的问题):

UnicodeDecodeError: 'utf8' codec can't decode byte 0xa3 in position 8: unexpected
Run Code Online (Sandbox Code Playgroud)

输入文件不一定是utf8; 它可以是ISO-8859-1,cp1251,或其他任何东西.

那么,问题是:在Python中读取CSV文件的弹性,交叉编码能力是什么?

问题的根源似乎是CSV模块是C扩展; 有一个纯python CSV阅读模块?

如果没有,有没有办法可靠地检测输入文件的编码,以便可以处理它?

基本上我正在寻找一种防弹方式来读取(并希望写入)任何编码的CSV文件.

这里有两个示例文件:欧洲,俄罗斯.

这是推荐的解决方案失败:

Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import csv
>>> def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):
...     # csv.py doesn't do Unicode; encode temporarily as UTF-8:
...     csv_reader …
Run Code Online (Sandbox Code Playgroud)

python unicode encoding

13
推荐指数
1
解决办法
6535
查看次数

用于从电子邮件主题中删除"FWD","RE"等的正则表达式/代码

给定一个电子邮件主题行,我想清理它,摆脱"Re:","Fwd"和其他垃圾.所以,例如,"[Fwd] Re:杰克和吉尔的婚礼"应该变成"杰克和吉尔的婚礼".

之前有人必须这样做,所以我希望你能指出我对经过测试的正则表达式或代码.

以下是此页面上的一些需要清理的示例.该页面上的正则表达式工作得相当好,但并不完全存在.

Fwd : Re : Re: Many
Re : Re: Many
Re  : : Re: Many
Re:: Many
Re; Many
: noah - should not match anything
RE--
RE: : Presidential Ballots for Florida
[RE: (no subject)]
Request - should not match anything
this is the subject (fwd)
Re: [Fwd: ] Blonde Joke
Re: [Fwd: [Fwd: FW: Policy]]
Re: Fwd: [Fwd: FW: "Drink Plenty of Water"]
FW: FW: (fwd) FW:  Warning from XYZ...
FW: (Fwd) …
Run Code Online (Sandbox Code Playgroud)

python regex email

13
推荐指数
2
解决办法
5079
查看次数

Python for Autohotkey风格的键组合嗅探,自动化?

我想自动执行几项任务(例如,模拟eclipse风格ctrl- shift- R为其他编辑器打开对话框).一般模式是:用户将按某些组合键,我的程序将检测到它并可能弹出一个对话框以获取用户输入,然后通常通过运行可执行文件来运行相应的命令.

我的目标环境是Windows,虽然跨平台会很好.我的程序将启动一次,读取配置文件,然后坐在后台,直到由组合键或其他事件触发.

基本上是自动键.

为什么不使用autohotkey?我实际上有很多autohotkey宏,但我更喜欢使用更健全的语言.

我的问题是:有一个很好的方法让后台python进程检测组合键吗?

更新:使用pyHook和win32扩展找到答案:

import pyHook
import pythoncom

def OnKeyboardEvent(event):
    print event.Ascii

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()

while True:
    pythoncom.PumpMessages()
Run Code Online (Sandbox Code Playgroud)

python autohotkey

10
推荐指数
2
解决办法
3850
查看次数

跨结构故障转移设计,DNS级故障转移?

我对Web应用程序的跨colo故障转移策略很感兴趣,这样如果主站点失败,用户将无缝地降落到另一个colo的故障转移站点.

事物的应用程序方面看起来主要是通过colos和服务之间的主从数据库设置来设计,以便恢复并能够在中流中获取.我正在试图找出将流量从主站点转移到故障转移站点的策略.即使TTL较低,DNS故障转移似乎也会带来相当大的延迟.

假设主colo上的服务器无法访问,您会建议在colos之间快速移动流量的策略是什么?

如果你有其他有趣的经验/关于跨colo故障转移的智慧的话,我也很乐意听到这些.

dns redundancy failover distributed

10
推荐指数
1
解决办法
2772
查看次数

Python:StopIteration异常和列表推导

我想从csv文件中读取最多20行:

rows = [csvreader.next() for i in range(20)]
Run Code Online (Sandbox Code Playgroud)

如果文件有20行或更多行,则工作正常,否则失败并出现StopIteration异常.

有没有一种优雅的方法来处理迭代器,它可以在列表解析中抛出StopIteration异常,还是应该使用常规for循环?

python iterator list-comprehension stopiteration

10
推荐指数
1
解决办法
4863
查看次数

在IE,FF,Safari/Chrome下持续调整<textarea>的大小

我有一个<textarea>需要适应其大小未预先确定的空间(是屏幕大小的百分比).如果FireFox通过设置常规CSS属性,我可以获得良好的结果:

#container { width: 70%; height:70% }
#text_area { width: 100%; height: 100%; margin: 0; padding:0; }
Run Code Online (Sandbox Code Playgroud)

然而在IE 6和7中,我得到了不同的,奇怪的结果.在IE6中,文本框似乎在左侧和右侧都有填充,从而推动容器的大小增长.在IE7中,文本框在左侧有填充,但不会使容器的大小增大 - 而是将其右边缘推到容器外部.

高度设置似乎对IE6或IE7没有影响; 的<textarea>是2行长在这两种情况下,忽略了高度:100%的指令.

是否有一致的方法来<textarea>跨浏览器调整大小?

有没有办法摆脱左边的填充<textarea>


更新

使用position:absolute删除填充,但width:100%仍然搞砸了.IE7似乎计算出100%的宽度太大,导致<textarea>溢出<div>包含它的内容.

如果我有机会,我会创建一个独立的例子......

css textarea cross-browser

10
推荐指数
1
解决办法
9252
查看次数

在Django中加速批量ORM操作的策略

我的一个API调用可能导致对大量对象(Django模型)的更新.由于我正在单独更新每个项目,保存并继续下一个项目,因此我遇到了性能问题:

for item in Something.objects.filter(x='y'):
    item.a="something"
    item.save()
Run Code Online (Sandbox Code Playgroud)

有时我的过滤条件看起来像"x in('a','b','c',...)".

似乎官方的答案是"不会修复".我想知道人们在这些场景中使用什么策略来提高性能.

python django orm batch-file

9
推荐指数
1
解决办法
3528
查看次数

Python:url内容的简单异步下载?

我有一个web.py服务器响应各种用户请求.其中一个请求涉及下载和分析一系列网页.

有没有一种简单的方法在web.py中设置基于异步/回调的url下载机制?资源使用率低是特别重要的,因为每个用户发起的请求可能导致下载多个页面.

流程看起来像:

用户请求 - > web.py - >并行或异步下载10页 - >分析内容,返回结果

我认识到Twisted是一个很好的方法,但我已经在web.py中了,所以我对web.py中的内容特别感兴趣.

python asynchronous

9
推荐指数
2
解决办法
9114
查看次数

文档OCR /可读性的图像处理/增强算法?

我正在寻找算法,论文或软件来增强传真,手机摄像头的图像以及其他类似的可读性和OCR来源.

我主要对简单的增强功能感兴趣(例如,你可以使用ImageMagick做的事情),但我也对更复杂的技术感兴趣.我已经和供应商谈过了,所以对于这个问题,我主要是寻找算法或开源软件.

进一步澄清:我不是在寻找OCR软件或算法; 我正在寻找算法来清理图像,使其看起来对人眼更具可读性,并且可能用于OCR.

ocr

9
推荐指数
2
解决办法
5137
查看次数