相关疑难解决方法(0)

Python3中的StringIO

我使用的是Python 3.2.1,我无法导入StringIO模块.我使用 io.StringIO和它的作品,但我不能使用它numpy的genfromtxt是这样的:

x="1 3\n 4.5 8"        
numpy.genfromtxt(io.StringIO(x))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Can't convert 'bytes' object to str implicitly  
Run Code Online (Sandbox Code Playgroud)

当我写import StringIO它时说

ImportError: No module named 'StringIO'
Run Code Online (Sandbox Code Playgroud)

python io python-3.x

407
推荐指数
7
解决办法
48万
查看次数

如何使用Python在操作系统剪贴板中添加/获取图像数据?

我有一些编辑图像文件的 Python 代码,并且想知道如何将
图像数据添加到操作系统剪贴板并从那里获取它。

当在 Python 中搜索跨平台解决方案来替换或获取剪贴板文本
时, 有许多简单的答案可以实现(例如,使用内置的 Tkinter 模块和一些代码)。
然而,这些方法只能使用纯文本,而不能使用图像等其他剪贴板数据。

我的 Python 版本在 Windows 上是 3.x,但答案需要是跨平台的
(在不同操作系统上工作),并且还应该支持其他 Python 版本,如 2.x。
我认为它应该只使用内置的Python模块,并且代码不应该太复杂(或者对其作用进行解释)。它可以是 Python 模块,因为这些文件可以包含在与可移植程序代码相同的文件夹中以避免安装。

还有一些其他相关问题可能适用于图像,但它们仅支持单个操作系统。最好的是在Python3中将图像复制到剪贴板和使用PIL和win32clipboard在python中将图像写入Windows剪贴板?。
那里描述的方法(仅适用于 Windows)似乎使用以下步骤:

  • 获取图像的原始二进制数据 - 该方法使用 Python 图像
    库 ( PIL/Pillow ) 模块加载图像文件,因为它具有稍后在简单
    且流行的标准 API 中使用的其他处理功能。这可以使用不同的模块来完成(例如Pygame)。
  • 使用内置io
    模块创建一个文件对象变量(用于内存中输入/输出流)。对于 Python 2.x,from cStringIO import StringIO使用,但对于 Python 3,使用
    更好的二进制流对象类型 - 旧的现在仅允许文本。io.BytesIO
  • 将图像数据以 BMP(Windows 位图/设备独立位图)文件格式保存
    到上一步中的文件对象变量中。使用 PIL/Pillow 的方法首先将此
    数据转换为.convert("RGB")包含它的变量。
  • 获取文件对象变量内存缓冲区的全部内容作为二进制数据(bytes对象),
    从位置 14 …

python clipboard python-3.x clipboarddata

6
推荐指数
1
解决办法
9518
查看次数

使用PIL和win32clipboard在python中将图像写入Windows剪贴板?

我正在尝试打开图像文件并将图像复制到Windows剪贴板.有没有办法来解决这个问题:

import win32clipboard
from PIL import Image

def send_to_clipboard(clip_type, data): 
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(clip_type, data) 
    win32clipboard.CloseClipboard()

clip_type = win32clipboard.CF_BITMAP
filepath = 'c:\\temp\\image.jpg'

im = Image.open(filepath) 
data = im.tobitmap() # fails with valueerror: not a bitmap
# data = im.tostring() runs, but receiving programs can't read the results
send_to_clipboard(clip_type, data)
Run Code Online (Sandbox Code Playgroud)

我可以安装PythonMagick等,但是不希望为一次性程序安装另一个库

python pywin32 python-imaging-library

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