小编Bas*_*asj的帖子

scipy.io.wavfile.read无法读取24位.wav文件

似乎scipy.io.wavfile.read无法读取24位.wav文件.你对如何处理它们有所了解吗?

python audio wav scipy

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

使用lxml.objectify测试元素的存在

测试元素是否存在的标准方法是什么lxml.objectify

示例XML:

<?xml version="1.0" encoding="utf-8"?>
<Test>
  <MyElement1>sdfsdfdsfd</MyElement1>
</Test>
Run Code Online (Sandbox Code Playgroud)

from lxml import etree, objectify
with open('config.xml') as f:
    xml = f.read()
root = objectify.fromstring(xml)

print root.MyElement1
print root.MyElement17  # AttributeError: no such child: MyElement17
Run Code Online (Sandbox Code Playgroud)

那么,在特定路径上写一些东西的最简单的解决方案是什么?

root.MyElement1.Blah = 'New'  # this works because MyElement1 already exists
root.MyElement17.Blah = 'New'  # this doesn't work because MyElement17 doesn't exist
root.MyElement1.Foo.Bar = 'Hello' # this doesn't as well... How to do this shortly ?
Run Code Online (Sandbox Code Playgroud)

python xml lxml lxml.objectify

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

在众多Python文件复制功能中,如果复制中断,哪些是安全的?

如何在 Python 中复制文件?,有很多文件复制功能:

  • shutil.copy

  • shutil.copy2

  • shutil.copyfile(还有shutil.copyfileobj

  • 甚至是一种天真的方法:

    with open('sourcefile', 'rb') as f, open('destfile', 'wb') as g:
        while True:
            block = f.read(16*1024*1024)  # work by blocks of 16 MB
            if not block:  # EOF
                break
            g.write(block)
    
    Run Code Online (Sandbox Code Playgroud)

在所有这些方法中,哪些方法在复制中断的情况下是安全的(例如:杀死 Python 进程)?列表中的最后一个看起来不错。

安全我的意思是:如果一个 1 GB 的文件复制没有 100% 完成(假设它在复制过程中被中断,在 400MB 之后),文件大小不应在文件系统中报告为1GB,它应该:

  • 要么报告写入最后一个字节时文件的大小(例如 400MB)
  • 或被删除

最糟糕的是,最终的文件大小为先写(内部与fallocateftruncate?)。如果复制被中断,这将是一个问题:通过查看文件大小,我们会认为文件被正确写入。

许多增量备份程序(我正在编写一个)使用“filename+mtime+fsize”来检查文件是否必须被复制或者它是否已经存在(当然更好的解决方案是 SHA256 源文件和目标文件,但这不是每次同步都完成,太耗时;这里偏离主题)。

所以我想确保fsize在复制实际文件内容之前,“复制文件”功能不会立即存储最终文件大小(然后它可能会欺骗比较)。


注意:我问这个问题是因为,虽然shutil.filecopy在 Python 3.7 及以下版本上相当直接,请参阅源代码(或多或少是上面的幼稚方法),但在 Python …

python filesystems io file-io file

9
推荐指数
1
解决办法
287
查看次数

即使距离 3 个像素也能检测 SVG 线上的点击

以下是我检测 SVG 行点击的方法:

window.onmousedown = (e) => {
    if (e.target.tagName == 'line') {
        alert();  // do something with e.target
    }
}
Run Code Online (Sandbox Code Playgroud)
svg line:hover { cursor: pointer; }
Run Code Online (Sandbox Code Playgroud)
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" id="svg">
<line x1="320" y1="160" x2="140" y2="00" stroke="black" stroke-width="2"></line>
<line x1="140" y1="00" x2="180" y2="360" stroke="black" stroke-width="2"></line>
<line x1="180" y1="360" x2="400" y2="260" stroke="black" stroke-width="2"></line>
<line x1="00" y1="140" x2="280" y2="60" stroke="black" stroke-width="2"></line>
</svg>
Run Code Online (Sandbox Code Playgroud)

只有当鼠标光标精确地在线上时它才起作用,这并不容易,因此这是一个糟糕的用户体验。

如何从 Javascript 检测 SVG 线上的点击,即使不是完全在线上,但距离 <= 3 像素?

javascript mouse svg hover

9
推荐指数
3
解决办法
1001
查看次数

单个请求需要很长时间才能使用这些非阻塞I/O服务器会发生什么?

使用Node.js,或eventlet或任何其他非阻塞服务器,当给定请求需要很长时间时会发生什么,它会阻止所有其他请求吗?

例如,一个请求进来,并且需要200ms来计算,这将阻止其他请求,因为例如nodejs使用单个线程.

这意味着每秒15K将大幅下降,因为计算给定请求的响应所需的实际时间.

但这对我来说似乎不对,所以我问的是究竟发生了什么,因为我无法想象这是怎么回事.

nonblocking node.js eventlet

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

使用Python的pyaudio列出所有音频设备(portaudio绑定)

我试过了

import pyaudio
p = pyaudio.PyAudio()
for i in range(p.get_device_count()):
    print p.get_device_info_by_index(i)
Run Code Online (Sandbox Code Playgroud)

但我没有得到所有设备的完整列表:例如,我没有在此列表中获得ASIO设备.这很奇怪,因为portaudio应该给ASIO设备,对吧?

如何列出所有音频设备pyaudio

python audio portaudio pyaudio

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

使用wxPython的自定义滑块小部件

我需要做一个

slider = wx.Slider(self, 100, 25, 1, 100, (30, 60), (250, -1), wx.SL_HORIZONTAL)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

具有透明背景(因为它出现在具有不均匀背景的面板上).

更一般地说,如何才能将其外观改为这样的?

在此输入图像描述

(.png如果需要,我可以使用小部件元素的文件.)

python wxwidgets wxpython slider custom-controls

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

在Debian上升级Python的sqlite3

我在我的Debian上的linux2上使用Python 2.7.6(默认,2014年3月22日,22:59:56)[GCC 4.8.2],我通常使用模块sqlite3没有任何问题.

编译了一个Sqlite扩展 spellfix,加载时出现此错误:

sqlite3.OperationalError:./spellfix.so:未定义的符号:sqlite3_malloc64

我想这可能是因为sqlite3模块太旧了:

import sqlite3
print sqlite3.version          # 2.6.0
print sqlite3.sqlite_version   # 3.8.2
Run Code Online (Sandbox Code Playgroud)

(在sqlite3.sqlite_version3.8.7.x的另一台机器上,扩展加载正常).

我试过了:

pip install --upgrade pysqlite
Run Code Online (Sandbox Code Playgroud)

但它仍然是相同的:sqlite3.sqlite_version保持3.8.2.

如何升级Python sqlite3模块(内置于标准库中)?

python sqlite debian pip

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

Keras 或 Tensorflow 函数绘制神经网络结构的 3D 图?

使用 Keras 创建神经网络时:

model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
...
Run Code Online (Sandbox Code Playgroud)

该功能model.summary有助于获得结构的大图。

为了更好地了解结构,Keras 或 Tensorflow(或其他库)中是否有一个函数可以自动生成结构的 3D 图?像这样:

或者

或者

在此处输入图片说明

model对象生成这样的图表文件是完全可能的。

特尔;博士:

  • 输入:一个 Kerasmodel变量

  • 输出:一个 PNG 图像


PS:

python neural-network keras tensorflow

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

点按屏幕以使用 getUserMedia 触发自动对焦

API withgetUserMedia对于在浏览器内/HTML5 页面内有视频流非常有用,例如参见https://www.html5rocks.com/en/tutorials/getusermedia/intro/https://simpl.info/获取用户媒体/来源/

从这个 API,如何在视频显示中点击时触发(智能手机)相机的自动对焦?

这确实是几乎所有智能手机相机应用程序中的常见行为。

我在 API 文档中没有找到任何关于“焦点”的内容 MediaDevices.getUserMedia()

html javascript camera getusermedia

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