小编mar*_*eau的帖子

读取没有换行符的文件

在Python中,调用

temp = open(filename,'r').readlines()
Run Code Online (Sandbox Code Playgroud)

得到一个列表,其中每个元素都是文件中的一行.它有点愚蠢但仍然:readlines()还为每个元素写了换行符,这是我不希望发生的.我怎么能避免呢?

python line-breaks readlines

320
推荐指数
6
解决办法
34万
查看次数

将列表打印为表格数据

我对Python很陌生,现在我正在努力为打印输出很好地格式化我的数据.

我有一个用于两个标题的列表,以及一个应该是表格内容的矩阵.像这样:

teams_list = ["Man Utd", "Man City", "T Hotspur"]
data = np.array([[1, 2, 1],
                 [0, 1, 0],
                 [2, 4, 2]])
Run Code Online (Sandbox Code Playgroud)

请注意,标题名称的长度不一定相同.但是,数据条目都是整数.

现在,我想以表格格式表示这个,如下所示:

            Man Utd   Man City   T Hotspur
  Man Utd         1          0           0
 Man City         1          1           0
T Hotspur         0          1           2
Run Code Online (Sandbox Code Playgroud)

我有预感,必须有一个数据结构,但我找不到它.我已经尝试使用字典和格式化打印,我已尝试使用缩进的for循环,我已尝试打印为字符串.

我确信必须有一个非常简单的方法来做到这一点,但由于缺乏经验,我可能会错过它.

python

314
推荐指数
15
解决办法
51万
查看次数

如何查看文件以进行更改?

我有一个日志文件由另一个进程编写,我想要观察更改.每次发生变化时,我都想读取新数据,对其进行一些处理.

最好的方法是什么?我希望PyWin32库中有一些钩子.我找到了这个win32file.FindNextChangeNotification功能,但不知道如何让它看到一个特定的文件.

如果有人做过这样的事情,我会非常感激听到......

[编辑]我应该提到我是在一个不需要轮询的解决方案之后.

[编辑]诅咒!这似乎不适用于映射的网络驱动器.我猜Windows不会像在本地磁盘上那样"听到"文件的任何更新.

python file pywin32 watch

306
推荐指数
14
解决办法
26万
查看次数

将字典附加到字典?

我有两个现有的词典,我希望将其中一个词典"追加"到另一个词典中.我的意思是,其他字典的关键值应该被制作成第一个字典.例如:

orig = {
   'A': 1,
   'B': 2,
   'C': 3,
}

extra = {
   'D': 4,
   'E': 5,
}

dest = # something here involving orig and extra

print dest
{
   'A': 1,
   'B': 2,
   'C': 3,
   'D': 4,
   'E': 5
}
Run Code Online (Sandbox Code Playgroud)

我认为这一切都可以通过for循环实现(也许?),但是有一些字典方法或任何其他模块可以为我保存这份工作吗?我正在使用的实际词典真的很大......

python dictionary

300
推荐指数
7
解决办法
44万
查看次数

如何基于参数类型重载__init__方法?

假设我有一个类,其成员名为data,这是一个列表.

我希望能够使用例如文件名(包含初始化列表的数据)或实际列表来初始化类.

你这样做的技巧是什么?

你只是看看类型__class__吗?

我可能会缺少一些技巧吗?

我已经习惯了C++,其中按参数类型重载很容易.

python constructor operator-overloading

297
推荐指数
5
解决办法
15万
查看次数

永久添加目录到PYTHONPATH?

每当我使用时sys.path.append,都会添加新目录.但是,一旦我关闭python,列表将恢复到之前的(默认?)值.如何永久添加目录PYTHONPATH

python windows save sys pythonpath

293
推荐指数
14
解决办法
52万
查看次数

不重新编译的不区分大小写的正则表达式?

在Python中,我可以使用以下命令编译正则表达式以区分大小写re.compile:

>>> s = 'TeSt'
>>> casesensitive = re.compile('test')
>>> ignorecase = re.compile('test', re.IGNORECASE)
>>> 
>>> print casesensitive.match(s)
None
>>> print ignorecase.match(s)
<_sre.SRE_Match object at 0x02F0B608>
Run Code Online (Sandbox Code Playgroud)

有没有办法做同样的事情,但没有使用re.compile.我在文档中找不到类似Perl的i后缀(例如m/test/i).

python regex case-sensitive case-insensitive

289
推荐指数
8
解决办法
27万
查看次数

什么是Python中的"可调用"?

现在很清楚元类是什么,有一个相关的概念,我一直在使用,而不知道它的真正含义.

我想每个人都用括号做错了,导致"对象不可调用"异常.更重要的是,使用__init____new__导致想知道这种血腥__call__可以用于什么.

你能给我一些解释,包括魔术方法的例子吗?

python callable

286
推荐指数
8
解决办法
23万
查看次数

如何在Python中将本地时间转换为UTC?

如何将本地时间的日期时间字符串转换为UTC时间字符串

我确定我以前做过这个,但找不到它,所以希望能帮助我(以及其他人)在将来做到这一点.

澄清:例如,如果我2008-09-17 14:02:00在我的本地时区(+10)中,我想生成一个具有相同UTC时间的字符串:2008-09-17 04:02:00.

此外,请访问http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/,请注意,一般情况下这不可能与DST和其他问题一样,因此从当地时间到UTC时间.

python datetime utc localtime

284
推荐指数
13
解决办法
38万
查看次数

将纪元时间转换为日期时间

我得到的答案是其余的Epoch时间格式

start_time = 1234566
end_time = 1234578
Run Code Online (Sandbox Code Playgroud)

我想在MySQL格式时转换那个纪元秒,这样我就可以在MySQL数据库中存储差异.

我试过了:

>>> import time
>>> time.gmtime(123456)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=10, tm_min=17, tm_sec=36, tm_wday=4, tm_yday=2, tm_isdst=0)
Run Code Online (Sandbox Code Playgroud)

以上结果不是我所期待的.我希望它像

2012-09-12 21:00:00
Run Code Online (Sandbox Code Playgroud)

请建议我如何实现这一目标?

另外,为什么我收到TypeError: a float is required

>>> getbbb_class.end_time = 1347516459425
>>> mend = time.gmtime(getbbb_class.end_time).tm_hour
Traceback (most recent call last):
  ...
TypeError: a float is required
Run Code Online (Sandbox Code Playgroud)

python

276
推荐指数
9
解决办法
38万
查看次数