小编mar*_*eau的帖子

为什么PEP-8指定的最大行长度为79个字符?

为什么在这个千年中Python PEP-8应该指定最大行长度为79个字符?

几乎每个阳光下的代码编辑器都可以处理更长的行.如何处理包装应该是内容使用者的选择,而不是内容创建者的责任.

在这个时代,有没有(合法的)充分理由坚持79个角色?

python pep8

219
推荐指数
7
解决办法
10万
查看次数

通过Python中的属性比较对象实例是否相等

在Python中比较某些对象的两个实例是否相同的最佳方法是什么?我希望能够做类似的事情

例:

class MyClass:
    def __init__(self, foo, bar):
        self.foo = foo
        self.bar = bar
Run Code Online (Sandbox Code Playgroud)

编辑:

进一步澄清这个问题.我想通过属性值进行比较,并制作一个更通用的解决方案

x = MyClass('foo', 'bar')
y = MyClass('foo', 'bar')
Run Code Online (Sandbox Code Playgroud)

MyClass方法看起来应该是这样的吗?

>>> x == y
False
Run Code Online (Sandbox Code Playgroud)

python equality

219
推荐指数
7
解决办法
19万
查看次数

如何在Python中的String中放置一个变量?

我想int加入一个string.这就是我现在正在做的事情:

num = 40
plot.savefig('hanning40.pdf') #problem line
Run Code Online (Sandbox Code Playgroud)

我必须运行几个不同数字的程序,而不是两个40.所以我想做一个循环但插入这样的变量不起作用:

plot.savefig('hanning', num, '.pdf')
Run Code Online (Sandbox Code Playgroud)

如何将变量插入Python字符串?

python string variables

218
推荐指数
6
解决办法
64万
查看次数

如何在管道中使用`subprocess`命令

我想subprocess.check_output()ps -A | grep 'process_name'.我尝试了各种解决方案,但到目前为止没有任 有人可以指导我怎么做吗?

python linux subprocess pipe

214
推荐指数
6
解决办法
20万
查看次数

如何将字典中的所有值相加?

假设我有一个字典,其中键映射到整数,如:

d = {'key1': 1,'key2': 14,'key3': 47}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否有一种语法简约的方法来返回d-ie 62中的值的总和?

python hash dictionary sum

209
推荐指数
7
解决办法
26万
查看次数

使用.readlines()时摆脱\n

我有一个包含值的.txt文件.

值如下所示:

Value1
Value2
Value3
Value4
Run Code Online (Sandbox Code Playgroud)

我的目标是将值放在列表中.当我这样做时,列表看起来像这样:

['Value1\n', 'Value2\n', ...]

\n是没有必要的.

这是我的代码:

t = open('filename.txt', 'r+w')
contents = t.readline()

alist = []

for i in contents:
    alist.append(i)
Run Code Online (Sandbox Code Playgroud)

python readline python-2.7

209
推荐指数
8
解决办法
28万
查看次数

使用多处理Pool.map()时无法pickle <type'instancemethod'>

我想使用multiprocessingPool.map()功能,同时划分出工作.当我使用以下代码时,它工作正常:

import multiprocessing

def f(x):
    return x*x

def go():
    pool = multiprocessing.Pool(processes=4)        
    print pool.map(f, range(10))


if __name__== '__main__' :
    go()
Run Code Online (Sandbox Code Playgroud)

但是,当我在面向对象的方法中使用它时,它不起作用.它给出的错误信息是:

PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup
__builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)

当以下是我的主程序时会发生这种情况:

import someClass

if __name__== '__main__' :
    sc = someClass.someClass()
    sc.go()
Run Code Online (Sandbox Code Playgroud)

以下是我的someClass课程:

import multiprocessing

class someClass(object):
    def __init__(self):
        pass

    def f(self, x):
        return x*x

    def go(self):
        pool = multiprocessing.Pool(processes=4)       
        print pool.map(self.f, range(10))
Run Code Online (Sandbox Code Playgroud)

任何人都知道问题可能是什么,或者一个简单的方法呢?

python multithreading pool pickle multiprocessing

206
推荐指数
6
解决办法
12万
查看次数

.join()方法究竟做了什么?

我是Python的新手,我完全感到困惑,.join()因为我已经阅读过它是连接字符串的首选方法.

我试过了:

strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
    .tostring().join(strid)
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
Run Code Online (Sandbox Code Playgroud)

它为什么这样工作?不应该595只是自动附加?

python string list

205
推荐指数
4
解决办法
55万
查看次数

如何确定文本的编码?

我收到了一些编码的文本,但我不知道使用了什么字符集.有没有办法使用Python确定文本文件的编码?如何检测文本文件的编码/代码页处理C#.

python encoding text-files

204
推荐指数
7
解决办法
20万
查看次数

清除列表的不同方式

当你想在Python中清除一个列表时,有没有理由做这些比这两行更复杂的事情?

old_list = []
old_list = list()
Run Code Online (Sandbox Code Playgroud)

我问的原因是我刚刚在一些正在运行的代码中看到了这个:

del old_list[ 0:len(old_list) ]
Run Code Online (Sandbox Code Playgroud)

python list

198
推荐指数
6
解决办法
31万
查看次数