小编Tom*_*Tom的帖子

查找datetime.isocalendar()的反转的最佳方法是什么?

Python datetime.isocalendar()方法返回(ISO_year, ISO_week_number, ISO_weekday)给定datetime对象的元组.是否有相应的反函数?如果没有,是否有一种简单的方法来计算一年,周数和星期几的日期?

python datetime

45
推荐指数
3
解决办法
1万
查看次数

如何使用Python的zipfile模块在ZIP文件中设置文件的权限(属性)?

当我从使用Python zipfile模块创建的ZIP文件中提取文件时,所有文件都不可写,只读等.

该文件是在Linux和Python 2.5.2下创建和提取的.

我可以说,我需要ZipInfo.external_attr为每个文件设置属性,但这似乎没有记录在任何我能找到的地方,有人可以启发我吗?

python zip attributes file-permissions zipfile

43
推荐指数
5
解决办法
2万
查看次数

如何获得给定时区的"午夜"UTC时间?

我现在能想到的最好的就是这种怪异:

>>> datetime.utcnow() \
...   .replace(tzinfo=pytz.UTC) \
...   .astimezone(pytz.timezone("Australia/Melbourne")) \
...   .replace(hour=0,minute=0,second=0,microsecond=0) \
...   .astimezone(pytz.UTC) \
...   .replace(tzinfo=None)
datetime.datetime(2008, 12, 16, 13, 0)
Run Code Online (Sandbox Code Playgroud)

即,用英语,获取当前时间(以UTC为单位),将其转换为其他时区,将时间设置为午夜,然后转换回UTC.

我不只是使用now()或localtime(),因为它会使用服务器的时区,而不是用户的时区.

我不禁感到我错过了什么,有什么想法吗?

python timezone datetime utc pytz

42
推荐指数
2
解决办法
5万
查看次数

如何在SubVersion存储库中搜索文件的所有修订版?

我想要grep一个字符串的文件的所有修订版.例如,找到添加或删除功能的时间.

有一种"简单"的方法吗?(即单个bash命令行会很好.)通过检查修订和单独测试来进行手动二进制搜索似乎太单调乏味且容易出错.

如果我足够聪明,可以使用有用的描述提交更改,那么我可以使用grep以下内容进行日志:

svn log myfile.c | grep my_func
Run Code Online (Sandbox Code Playgroud)

虽然这不提供修订号,但我怀疑还有更好的方法.

svn

32
推荐指数
2
解决办法
1万
查看次数

从Python读取FoxPro DBF文件最简单的方法是什么?

我的Ubuntu系统上有一堆FoxPro(VFP9)DBF文件,是否有用Python打开这些文件的库?我只需要阅读它们,并且最好也可以访问备忘录字段.

更新:谢谢@cnu,我使用了Yusdi Santoso dbf.py,它很好用.一个问题:备忘录文件扩展名必须是小写的,即.fpt不是.FPT文件名来自Windows的方式.

python foxpro dbf visual-foxpro

23
推荐指数
6
解决办法
2万
查看次数

python脚本可以在bash脚本中执行一个函数吗?

我有一个由第三方提供的bash脚本,它定义了一组函数.这是一个模板,看起来像什么

$ cat test.sh

#!/bin/bash

define go() {
    echo "hello"
}
Run Code Online (Sandbox Code Playgroud)

我可以从bash shell中执行以下操作来调用go():

$ source test.sh
$ go
hello
Run Code Online (Sandbox Code Playgroud)

有没有办法从python脚本访问相同的功能?我尝试了以下,但它不起作用:

Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call("source test.sh")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/subprocess.py", line 470, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child …
Run Code Online (Sandbox Code Playgroud)

python bash

17
推荐指数
1
解决办法
1万
查看次数

如何使用Python imaplib回复电子邮件并包含原始邮件?

我目前正在使用imaplib从服务器获取电子邮件并处理内容和附件.

我想回复带有状态/错误消息的消息,并链接到我的网站上生成的内容,如果可以处理的话.这应该包括原始邮件,但应删除任何附件(这将是大的),并最好用他们的文件名/大小替换它们.

由于我已经走过MIME消息部分,我假设我需要做的是构建一个包含原始消息副本的新MIME消息树并删除/替换附件节点.

在我开始走这条道路之前,我希望有人可以给我一些提示.有没有任何类型的库函数可以做到这一点?我应该坚持的任何标准行为?

我目前知道的/我使用的imaplib,smtplibemail模块和,但可能错过了一些东西在里面明显.这也在Django中运行,因此可以使用任何内容,django.core.email如果这样可以更容易.

python email django mime imaplib

16
推荐指数
1
解决办法
8080
查看次数

在MySQL的慢查询日志中,"SELECT/*!N SQL_NO_CACHE*/*FROM`mytable`"是什么意思?

我刚刚在我的MySQL数据库上打开慢速查询记录,将以下内容添加到/etc/mysql/my.cnf:

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
Run Code Online (Sandbox Code Playgroud)

当我运行mysqldumpslow时,它输出以下内容:

Reading mysql slow query log from mysql-slow.log
Count: 1  Time=199.23s (199s)  Lock=0.00s (0s)  Rows=32513.0 (32513), ...
 SELECT /*!N SQL_NO_CACHE */ * FROM `mytable`

...
Run Code Online (Sandbox Code Playgroud)

看原文mysql-slow.log,完整的查询是:

SELECT /*!40001 SQL_NO_CACHE */ * FROM `mytable`;
Run Code Online (Sandbox Code Playgroud)

所以mysqldumpslow只需用数字替换N(以帮助聚合类似的查询.)

所以,问题是,该查询来自何处以及该/*!40001 SQL_NO_CACHE */位意味着什么?

我可以说,它可能来自一个mysqldump正在进行备份的命令(因此不需要缓存数据),这看起来是否正确?如果是这样,因为它只读了32,000行,为什么需要199s呢?

在其他表上有一堆更类似的查询,需要100s,50s,更合理的3s,大多数有10-20,000行,最大有450,000行.

mysql

14
推荐指数
3
解决办法
2万
查看次数

邮件集成

我想知道是否有人可以帮助我.在某些Web应用程序中,应用程序将发送电子邮件,例如发布新邮件时.然后,您可以只回复电子邮件,而不是登录应用程序发布回复,它会自动更新您的回复.

我的问题是,这是如何完成的以及它的名称是什么?

谢谢

python email django email-integration

12
推荐指数
2
解决办法
1706
查看次数

如何使用owfs读取iButton温度记录仪?

我已安装owfs并尝试从iButton温度记录仪读取数据.

owfs让我将iButton安装为保险丝文件系统,我可以看到所有数据.我无法弄清楚访问数据的最佳方法是什么.我可以通过cat文件来获得单独的读数,例如cat onewire/{deviceid}/log/temperature.1,但是onewire/{deviceid}/log/temperature.ALL文件被"破坏"(可能太大,histogram/temperature.ALL工作正常).

用于读取所有文件的python脚本似乎可以工作,但需要很长时间.有没有更好的方法呢?有没有人有任何例子?

我正在使用Ubuntu 8.04并且无法运行java"one wire viewer"应用程序.

更新:使用owpython(与owfs一起安装),我可以获得当前温度,但无法弄清楚如何访问记录的日志:

>>> import ow
>>> ow.init("u") # initialize USB
>>> ow.Sensor("/").sensorList()
[Sensor("/81.7FD921000000"), Sensor("/21.C4B912000000")]
>>> x = ow.Sensor("/21.C4B912000000")
>>> print x.type, x.temperature
DS1921           22
Run Code Online (Sandbox Code Playgroud)

x.log给出一个AttributeError.

python ubuntu 1wire

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