相关疑难解决方法(0)

如何将字符串用作stdin

我一直在用一个看似简单的Python问题疯狂:我想调用一个使用raw_input()和input()的函数,并以某种方式在程序中提供一个字符串.我一直在搜索,发现子进程可以将stdin和stdout更改为PIPE; 但是,我不能使用子进程来调用函数.这是一个例子:

def test():
    a = raw_input("Type something: ")
    return a

if __name__=='__main__':
    string = "Hello World" # I want to a in test() to be Hello World
    returnValue = test()
Run Code Online (Sandbox Code Playgroud)

当然,这比我想要完成的要简单得多,但基本思路非常相似.

非常感谢!

python

8
推荐指数
1
解决办法
6087
查看次数

Python中的MemoryStream模拟

MemoryStreamPython中是否存在一些C#模拟(可以让我将某些源的二进制数据直接写入内存)?我将如何使用它?

c# python memorystream

7
推荐指数
2
解决办法
4046
查看次数

使用savefig时,PNG选项可生成较小的文件大小

我使用matplotlib生成一个绘图,然后使用matplotlib.pyplot.savefig保存到PNG文件.

一切正常,但文件大小非常大(约120Kb).

之后我可以使用ImageMagik(通过shell)通过减少颜色数量和关闭抖动来将文件大小减少到38Kb而不会降低质量:

convert +dither -colors 256 orig.png new.png
Run Code Online (Sandbox Code Playgroud)

我的问题是:我可以在matplotlib中这样做吗?我搜索了文档,找不到任何与设置保存时使用的颜色数等有关的事情....

谢谢!

python matplotlib

7
推荐指数
2
解决办法
2267
查看次数

要为`PIL.Image.frombytes`指定的大小

我想从原始数据创建PIL图像.我相信我应该使用PIL.Image.frombytes.但它有一个size论点.我不知道图像的大小,是不是应该作为图像的一部分?我事先并不知道图像的大小.我该如何调用没有大小的函数?

python python-imaging-library

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

如何在python中生成文件而不将其保存到磁盘?

我正在使用 Python 2.7 和 Django 1.7。

我的管理界面中有一个方法可以生成某种 csv 文件。

def generate_csv(args):
    ...
    #some code that generates a dictionary to be written as csv
    ....

    # this creates a directory and returns its filepath
    dirname = create_csv_dir('stock')

    csvpath = os.path.join(dirname, 'mycsv_file.csv')
    fieldnames = [#some field names]

    # this function creates the csv file in the directory shown by the csvpath
    newcsv(data, csvheader, csvpath, fieldnames)

    # this automatically starts a download from that directory
    return HttpResponseRedirect('/media/csv/stock/%s' % csvfile)
Run Code Online (Sandbox Code Playgroud)

总而言之,我创建了一个 csv 文件,将其保存在磁盘上的某个位置,然后将其 URL …

python csv django

7
推荐指数
1
解决办法
6870
查看次数

在Python3中将图像复制到剪贴板

首先,在python中将 SO 复制图像复制到剪贴板的问题导致回答使用PIL和win32clipboard在python中将图像写入Windows剪贴板?,这对Python 2.x只有好处. - 我试了一下它没用.我克服了一个问题:StringIO和cStringIO模块在Python 3.0中消失了:但是碰到了另一个:

TypeError: string argument expected, got 'bytes'
Run Code Online (Sandbox Code Playgroud)

因此,再次为Python 3重新提出同样的问题 - 如何在Python 3中将图像复制到剪贴板?这是我到目前为止的代码:

from io import StringIO
import win32clipboard
from PIL import Image

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

filepath = 'image.jpg'
image = Image.open(filepath)

output = StringIO()
image.convert("RGB").save(output, "BMP")
data = output.getvalue()[14:]
output.close()

send_to_clipboard(win32clipboard.CF_DIB, data)
Run Code Online (Sandbox Code Playgroud)

谢谢

python windows clipboard python-3.x

6
推荐指数
3
解决办法
2244
查看次数

在Gunicorn超时转储Django堆栈跟踪

我正在尝试调试Django应用程序的罕见挂起.到目前为止,我没有找到问题所在,它每天都会在生产中发生一次,而Gunicorn会重新启动该过程,并显示一条消息:

[CRITICAL] WORKER TIMEOUT
Run Code Online (Sandbox Code Playgroud)

有没有办法配置Django或Gunicorn来转储重新启动的进程的堆栈跟踪?

django gunicorn

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

使用 PIL 缓冲到图像

我从包含图像的某处接收缓冲区(image_data如下),我想从该缓冲区生成缩略图。

我正在考虑使用 PIL(好吧,枕头),但没有成功。这是我尝试过的:

>>> image_data
<read-only buffer for 0x03771070, size 3849, offset 0 at 0x0376A900>
>>> im = Image.open(image_data)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "<path>\PIL\Image.py", line 2097, in open
    prefix = fp.read(16)
AttributeError: 'buffer' object has no attribute 'read'
>>> image_data.thumbnail(50, 50)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'buffer' object has no attribute 'thumbnail'
>>>
Run Code Online (Sandbox Code Playgroud)

我确信有一种简单的方法可以解决这个问题,但我不确定如何解决。

python pillow

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

在Paramiko Application中将公钥作为字符串嵌入

我正在尝试在python中创建单个文件可执行文件,并使用paramiko为我的SSH.我需要消除外部文件,如公钥文件,并尝试去嵌入字符串.

我试过这个解决方案,但它对我不起作用..

我该如何做到这一点?谢谢.

python windows paramiko ssh-keys public-key

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

Music21 Midi错误:类型对象'_io.StringIO'没有属性'StringIO'.怎么解决?

所以,我已经按照这个问题来播放Music21的声音了,这里是代码:

from music21 import *
import random

def main():

#  Set up a detuned piano 
#  (where each key has a random 
#  but consistent detuning from 30 cents flat to sharp)
#  and play a Bach Chorale on it in real time.


    keyDetune = []
    for i in range(0, 127):
        keyDetune.append(random.randint(-30, 30))

    b = corpus.parse('bach/bwv66.6')
    for n in b.flat.notes:
        n.microtone = keyDetune[n.midi]
    sp = midi.realtime.StreamPlayer(b)
    sp.play()

    return 0

if __name__ == '__main__':

    main()
Run Code Online (Sandbox Code Playgroud)

这是追溯:

Traceback …
Run Code Online (Sandbox Code Playgroud)

python python-3.x music21

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

在 Python 中从 URL 显示/获取图像

我是python的新手。但是我有一个任务,我需要从 URL 显示/获取图像。我一直在使用带有 python 的 Jupyter notebook 来尝试这样做。

import sys
print(sys.version)
3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]
Run Code Online (Sandbox Code Playgroud)

我试图像在这篇文章中那样做,但没有一个答案有效。

import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen(URL).read())
img = Image.open(file)
Run Code Online (Sandbox Code Playgroud)

我得到:

ImportError                               Traceback (most recent call last)
<ipython-input-33-da63c9426dad> in <module>()
      1 url='http://images.mid-day.com/images/2017/feb/15-Justin-Bieber.jpg'
      2 print(url)
----> 3 import urllib, cStringIO
      4 
      5 file = cStringIO.StringIO(urllib.urlopen(URL).read())

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

和:

from PIL import Image
import requests
from io import BytesIO

response = …
Run Code Online (Sandbox Code Playgroud)

python

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