x是一个numpy.float32数组,使用来自值-200到0.这些是dB(分贝)值.
当我这样做时(按照此处的建议):
Image.fromarray(x, mode='F')
Run Code Online (Sandbox Code Playgroud)
我得到一个灰度或有时几乎是黑色的图像.
如何将[-200,0]中的float映射到24位RGB字节数组(使用色彩映射),可以使用Python模块PIL读取Image.fromarray(x, mode='RGB')?
这是一些要测试的代码:
import scipy, numpy as np
import scipy.io.wavfile as wavfile
import numpy as np
from PIL import Image
def stft(x, fftsize=1024, overlap=4):
hop = fftsize / overlap
w = scipy.hanning(fftsize+1)[:-1]
return np.array([np.fft.rfft(w*x[i:i+fftsize]) for i in range(0, len(x)-fftsize, hop)])
def dB(ratio):
return 20 * np.log10(ratio+1e-10)
def magnitudedB(frame, fftsize=1024):
w = scipy.hanning(fftsize+1)[:-1]
ref = np.sum(w) / 2
return …Run Code Online (Sandbox Code Playgroud) 我有一个SysListView32应该托管数百万行,三列文本A,B,C每个<256个字符.
假设列B有很多次重复(例如:列A是文件名,列B是路径,每行是文件系统的文件),并且只有100k不同的值(而不是几百万).
是否可以避免ListViewGUI元素B列内容的RAM重复?
我们可以ListView只填充指向数组元素的指针(取自列B的不同值的100k元素数组),而不是重复数据吗?
如何修改它以使其工作?
LV_ITEM item;
item.mask = LVIF_TEXT;
item.pszText = "Hello";
...
ListView_SetItem(hList, &item);
Run Code Online (Sandbox Code Playgroud) 我通过查看 NTFS MFT / USN 日志来枚举 NTFS 硬盘驱动器分区的文件:
HANDLE hDrive = CreateFile(szVolumePath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
DWORD cb = 0;
MFT_ENUM_DATA med = { 0 };
med.StartFileReferenceNumber = 0;
med.LowUsn = 0;
med.HighUsn = MAXLONGLONG; // no change in perf if I use med.HighUsn = ujd.NextUsn; where "USN_JOURNAL_DATA ujd" is loaded before
unsigned char pData[sizeof(DWORDLONG) + 0x10000] = { 0 }; // 64 kB
while (DeviceIoControl(hDrive, FSCTL_ENUM_USN_DATA, &med, sizeof(med), pData, sizeof(pData), &cb, NULL))
{
med.StartFileReferenceNumber = …Run Code Online (Sandbox Code Playgroud) 背景:某些Windows命令行程序允许*.*在第一个参数中使用:
myprogram *.*
Run Code Online (Sandbox Code Playgroud)
并将自动循环目录的所有文件.
其他一些则没有,因此需要批处理循环:
for %%c in ("*.*") do myprogram "%%c"
Run Code Online (Sandbox Code Playgroud)
问题:是否有标准方式(在C语言中定义或OS提供?)允许*.*或*.txt在参数中,以便它自动对相关文件进行处理?
int main(int argc, char *argv[])
{
FILE *kf;
"for fname in argv[1]" // pseudo code here meaning:
// let's loop on all files described by the first argument
{
kf = fopen(fname, "rb");
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想检查一个解决方案是否存在,然后滚动我自己(重新发明通配符扩展的轮子,使用FindFirstFile等)
python myscript.py从Windows控制台cmd.exe(即Sublime Text 之外)运行此代码时,它的工作原理如下:
# coding: utf8
import json
d = json.loads("""{"mykey": {"readme": "Café"}}""")
print d['mykey']['readme']
Run Code Online (Sandbox Code Playgroud)
咖啡店
在Sublime Text 2中运行时CTRL+B,它会失败:
这样(默认情况下):
print d ['mykey'] ['readme']
UnicodeEncodeError:'ascii'编解码器无法对位置3中的字符u'\ xe9'进行编码:序数不在范围内(128)
[以0.1秒结束,退出代码为1]
或者像这样,在使用Sublime Text 3(即在构建系统中添加)在Python 3中打印UTF-8的答案应用解决方案之后:cmd.exe
[解码错误 - 输出不是utf-8]
[解码错误 - 输出不是utf-8]
[以0.1秒完成]
添加"env": {"PYTHONIOENCODING": "utf8"},Python Sublime-build文件也无济于事
如何"encoding": "utf-8"正确使用Sublime Text 2(适用于Windows)控制台,如果它包含一些UTF8字符?
注意:这不是使用Sublime Text 3在Python 3中打印UTF-8的重复,我之前已经链接到这个问题.
这是print文件:
{ "cmd": ["python", "-u", "$file"], …Run Code Online (Sandbox Code Playgroud) 我有一个页面有几个 <div>包含容器。
如何在页面加载时将焦点放在其中之一,以便用户可以使用箭头键滚动(甚至SPACE滚动)而无需单击div一个?
我试过了:
<div id="main" autofocus>
Run Code Online (Sandbox Code Playgroud)
但autofocus似乎不适用于 non-input div。
_
这可能是一个解决方案,但浏览器地址栏会显示我不想要的 id http://example.com/#main:
<body onload="location.hash = 'main';">
<div id="main">content</div>
</body>
Run Code Online (Sandbox Code Playgroud)
_
示例:当您打开https://en.wikipedia.org/wiki/Main_Page 时,您可以立即使用Down arrow键 或Space滚动,而无需单击任何地方。
我有需要打印的 PDF 文件或 JPG 图像(这些是手动填写的公式),我需要:
扫描后,应使用 Python 完美旋转/缩放图像,以便我可以使用 x、y 坐标访问公式的某些部分
应使用数字 ID 识别扫描的图像。
我应该在公式纸上添加什么样的模式,以便 Python 库(哪个?)能够裁剪/旋转它/用 ID 识别它?
我正在考虑在纸的左上角添加一个二维码(包含一个数字 ID),在纸的右下角添加一个二维码,或者也可能是“hirondelles”符号:

二维码将使用qrcode库生成:
import qrcode
img = qrcode.make('ID1138934')
Run Code Online (Sandbox Code Playgroud)
并使用此方法添加到 PDF 之上。
笔记:
我已经阅读了如何在(最好是纯)Python 中解码二维码图像的问题?,但这不会检测到扫描纸上的二维码;它只需要一个包含二维码的 PNG 作为输入。
这是一个 JPG扫描文档示例:
假设您要打开myapp.exe,打开第三个菜单,然后选择第二个菜单项(即就像用户使用键盘或鼠标所做的那样),然后在对话窗口中选择第二个按钮。
pyahk并且pyautogui似乎提供了这个,但是以一种相当“低级”的方式,通过模拟点击:
pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')
Run Code Online (Sandbox Code Playgroud)
如何使用 Python 以更高级别的方式与 Windows GUI 交互?
例子:
window = gui.open('myapp.exe')
window.menu_open(3).choose_item(2)
child_window = window.wait_for_dialog()
child_window.buttons[1].click()
Run Code Online (Sandbox Code Playgroud) 我将此添加到.htaccessWordPress 网站:
<files xmlrpc.php>
order allow,deny
deny from all
</files>
Run Code Online (Sandbox Code Playgroud)
它有效,当有人尝试访问时http://example.com/xmlrpc.php,会显示此消息:
Forbidden
您无权访问此服务器上的 /xmlrpc.php。
但是,日志仍然显示 ( less /var/log/apache2/error.log):
[Thu May 02 10:02:03.316061 2019] [access_compat:error] [pid 19467]
[client 1.2.3.4:49409] AH01797: client denied by server
configuration: /path/to/xmlrpc.php
Run Code Online (Sandbox Code Playgroud)
如何拒绝访问 xmlrpc.php(可能来自 .htaccess)但防止它出现在 Apache 日志中?
当找到一个有趣的 Python Jupyter Notebook 时,例如02.00-Introduction-to-NumPy.ipynb,我通常必须:
jupyter notebook难道没有更简单的方法吗?
打开在线 .ipynb 笔记本并运行代码而无需手动下载 .ipynb 的自然方法是什么?
注意:笔记本在这里可见: https: //github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.00-Introduction-to-NumPy.ipynb,但我们无法运行代码
python ×5
windows ×5
winapi ×3
.htaccess ×1
apache ×1
c ×1
c++ ×1
colormap ×1
encoding ×1
filenames ×1
filesystems ×1
html ×1
javascript ×1
listview ×1
ntfs ×1
ntfs-mft ×1
numpy ×1
opencv ×1
performance ×1
php ×1
qr-code ×1
spectrogram ×1
sublimetext ×1
utf-8 ×1
wildcard ×1
wordpress ×1
xml-rpc ×1