小编Ger*_*inZ的帖子

使用PIL获取像素的RGB

是否可以使用PIL获得像素的RGB颜色?我正在使用此代码:

im = Image.open("image.gif")
pix = im.load()
print(pix[1,1])
Run Code Online (Sandbox Code Playgroud)

但是,它仅输出一个数字(例如01)而不是三个数字(例如,60,60,60对于R,G,B).我想我不了解这个功能.我喜欢一些解释.

非常感谢.

python rgb image pixel python-imaging-library

83
推荐指数
2
解决办法
16万
查看次数

如何在Python 3中保留xmlrpc.client的cookie?

默认的Python xmlrpc.client.Transport(可与 一起使用xmlrpc.client.ServerProxy)不保留cookie,有时基于cookie 的登录需要cookie。

例如,以下代理与 TapaTalk API(该login方法使用 cookies 进行身份验证)一起使用时,在尝试修改帖子时将给出权限错误。

proxy = xmlrpc.client.ServerProxy(URL, xmlrpc.client.Transport())
Run Code Online (Sandbox Code Playgroud)

网上有一些针对Python 2的解决方案,但它们与Python 3不兼容。

如何使用Transport保留 cookie 的应用程序?

python cookies xmlrpclib python-3.x

4
推荐指数
1
解决办法
1663
查看次数

在python中复制列表

我正在寻找一种方法来做到以下几点:

  • 我有一个由其他列表组成的列表:TABLE=[table1,table2,table3]
  • 我想复制这个列表,但重命名子列表,例如:( TABLE_1=[table1_dup=list(table1),table2_dup=list(table2),table3_dup=list(table3)]这不起作用;我只是想解释我的目标),这样我就可以在整个TABLE上执行批处理操作后独立访问tablex和tablex_dup TABLE_1,包括table1,table2,...和重复项.

非常感谢!

编辑:子列表不一定命名相同(table1,table2,table3).实际上,他们的名字是完全不同的(例如,上,下,左,右)

编辑#2:我对此有点新意.基本上,这是我的代码:

up=["img1.png","img2.png"]
Run Code Online (Sandbox Code Playgroud)

向下,向左和向右类似的东西.

table=[up,down,left,right]
Run Code Online (Sandbox Code Playgroud)

现在使用pygame:

for j in range(len(table)):
        for i in range(len(table[j])):
            table[j][i] = pygame.image.load(os.path.join(str(table[j][i])))
            table_r[j][i] = pygame.image.load(os.path.join(str(table_r[j][i])))
            table_r[j][i] = pygame.transform.flip(table_r[j][i],1,0)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为没有up_r,例如,我可以访问.只有.

python copy list

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

Python3 DictWriter 在 Linux 上使用 CRLF 而不是 LF

问题:

在 Python 3 中,我使用 csv.DictWriter 将一行附加到现有文件。但是,正在使用 CRLF 行结尾而不是预期的 LF 行结尾。

代码示例:

#!/usr/bin/env python3
import csv

with open("test.csv", 'a', newline='') as test_f:
    test_csv = csv.DictWriter(test_f, delimiter='|', fieldnames=['1', '2'])
    test_csv.writerow({'1': "test1", '2': "test2"})
Run Code Online (Sandbox Code Playgroud)

预期结果:

$ cat -e test.csv
test1|test2$
Run Code Online (Sandbox Code Playgroud)

实际结果:

$ cat -e test.csv
test1|test2^M$
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 现有文件的文件格式是“unix”,而不是“dos”。
  • 我已经尝试将换行符设置为 None(默认值)和 '\n'(即使这应该是不必要的,因为默认值是 os.linedep,它在 Linux 上已经是 '\n'),但结果是一样的.

python linux python-3.x

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