我无法在 Windows 7 32 位上安装 Python 3.8,并出现 SP1 错误日志detected windows 7 sp1 without kb2533625,我整天都在搜索此更新,但没有找到任何帮助?
我有一个 2D 矢量场(实际上它是 3D,但如果我们知道如何用 2D 实现它,我认为它会很容易推广到 3D),如下所示:
import matplotlib.pyplot as plt, numpy as np
x = [0, 0, 1, 1, 2, 2, 0, 1, 2]
y = [1, 2, 1, 2, 1, 2, 1.5, 1.5, 1.5]
u = [0.5, -1, 0, 0, 0.25, 1, 0, 0, 0.75]
v = [1, 1, 1, 1, 1, 1, 1, 1, 1]
plt.quiver(x, y, u, v)
plt.show()
Run Code Online (Sandbox Code Playgroud)
如何平滑地插值这个向量场?
我知道如何使用np.polyfit,但我不知道如何对向量场进行插值。
示例:我想插入[0,2]x[1,2]数百个箭头。
它可能取决于每个操作系统,并且还取决于硬件,但是Python中有一种方法可以要求对文件的写操作“就地”发生,即在原始文件的同一位置发生,即如果可能的话磁盘上的相同扇区?
例如:假设sensitivedata.raw必须加密4KB文件:
with open('sensitivedata.raw', 'r+') as f: # read write mode
s = f.read()
cipher = encryption_function(s) # same exact length as input s
f.seek(0)
f.write(cipher) # how to ask this write operation to overwrite the original bytes?
Run Code Online (Sandbox Code Playgroud)
示例2:将文件替换为相同大小的空字节内容,以避免使用未删除的工具恢复该文件(当然,要正确执行此操作,我们需要多次传递,不仅随机数据而且还包含空字节,但这里只是一个想法)
with open('sensitivedata.raw', 'r+') as f:
s = f.read()
f.seek(0)
f.write(len(s) * '\x00') # totally inefficient but just to get the idea
os.remove('sensitivedata.raw')
Run Code Online (Sandbox Code Playgroud)
PS:如果这确实取决于操作系统,那么我主要对Windows机箱感兴趣
侧quesion:如果它在SSD的情况下是不可能的,这是否意味着,如果你曾经在你的生活中写道敏感数据以明文形式在SSD(例如:明文密码,加密私钥,或其他任何东西,等),那么有没有办法确保该数据确实被擦除了?即唯一的解决方案是100%擦除磁盘并用随机字节填充很多遍?那是对的吗?
我有 Python 3.7 和 Windows 7 x64,我做了:
pip install kivy buildozer
Run Code Online (Sandbox Code Playgroud)
它有效,我可以在我的 Windows 计算机上成功运行 hello world 示例:
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='hello world')
if __name__ == '__main__':
TestApp().run()
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个 buildozer 文件:
buildozer init
Run Code Online (Sandbox Code Playgroud)
并修改 .spec 文件以使用正确的main.py.
但是之后:
buildozer android debug
Run Code Online (Sandbox Code Playgroud)
失败:
未知命令/目标 android
如何在 Windows 上使用 Kivy + Buildozer 编译 APK?
我需要每天运行 Google Apps 脚本三次:8:00、12:30、17:00。
这该怎么做?
我已经看过了Triggers,更具体地说Time driven:
小时计时器,但是Every hour,Every 2 hours,Every 4 hours未在此处进行调整
日定时器,但8am to 9am不是很精确,我更喜欢更精确的东西,而且 12:30 也是不可能的
特定时间,但随后YYYY-MM-DD HH:MM不适合每天运行
From calendar 触发器似乎也没有适应。
javascript triggers google-apps google-apps-script gs-installable-triggers
假设我正在“cythonizing”这个test.py:
import json
print(json.dumps({'key': 'hello world'}))
Run Code Online (Sandbox Code Playgroud)
和:
cython test.py --embed
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
cl test.c /I C:\Python37\include /link C:\Python37\libs\python37.lib
Run Code Online (Sandbox Code Playgroud)
正如分发嵌入 Cython 编译的代码并使其在任何机器上工作所需的最小文件集中提到的,有必要沿着文件分发python37.dll和vcruntime140.dll的内容Lib\(作为Lib\或打包到 a 中python37.zip)test.exe。
问题:如何修改cl.exe ...命令来要求编译器静态链接python37.dll到文件vcruntime140.dll内部test.exe?
(这样就不再需要运输python37.dll和单独)vcruntime140.dll
我正在阅读诸如“捕获流”或“环回录音”之类的文档,但我找不到关于如何从环回音频设备(有时称为“什么使用 Windows WASAPI 聆听”、“立体声混音”)。
您是否有一个简单的可重现示例,展示如何使用 C++ 从 WASAPI 设备循环录制音频块?
这是 Python 中的一个类似(有效)示例:
import soundcard as sc # installed with: pip install soundcard
lb = sc.all_microphones(include_loopback=True)[0]
with lb.recorder(samplerate=44100) as mic:
while True:
data = mic.record(numframes=None)
print(data) # chunks of audio data (448 samples x 2 channels as an array by default)
Run Code Online (Sandbox Code Playgroud) 当用SFTP上传100个每个100字节的文件时,这里需要17秒(建立连接后,我什至没有计算初始连接时间)。这意味着仅传输 10 KB 就需要 17 秒,即 0.59 KB/秒!
我知道向open、write、close等发送 SSH 命令可能会产生很大的开销,但是,在使用 SFTP 发送许多小文件时,有没有办法加快该过程?
或者特殊模式paramiko或者/pysftp将所有要执行的写入操作保留在内存缓冲区中(假设最后 2 秒的所有操作),然后在 SSH/SFTP 的一次分组传递中执行所有操作?这将避免每次操作之间等待 ping 时间。
笔记:
import pysftp, time, os
with pysftp.Connection('1.2.3.4', username='root', password='') as sftp:
with sftp.cd('/tmp/'):
t0 = time.time()
for i in range(100):
print(i) …Run Code Online (Sandbox Code Playgroud) 我正在创建一个d包含一百万个元组项目的字典,理想情况下我想通过以下方式访问它们:
d[1634].id # or d[1634]['id']
d[1634].name # or d[1634]['name']
d[1634].isvalid # or d[1634]['isvalid']
Run Code Online (Sandbox Code Playgroud)
而不是d[1634][0], d[1634][1],d[1634][2]后者不太明确。
根据我的测试:
import os, psutil, time, collections, typing
Tri = collections.namedtuple('Tri', 'id,name,isvalid')
Tri2 = typing.NamedTuple("Tri2", [('id', int), ('name', str), ('isvalid', bool)])
t0 = time.time()
# uncomment only one of these 4 next lines:
d = {i: (i+1, 'hello', True) for i in range(1000000)} # tuple
# d = {i: {'id': i+1, 'name': 'hello', 'isvalid': True} for i in range(1000000)} …Run Code Online (Sandbox Code Playgroud) 我有一个<h1>长单词的标题,如下所示。浏览器宽度当然取决于设备,但我注意到在我的一台设备上,它看起来像这样:
这不是一个很好的断词。
如何要求浏览器做“更好”的中断?
示例:Internationali-sation 或 -tion 或 -on 但不是n单独出现在下一行。
这是重现问题的方法(我在260px这里硬编码只是为了重现我在我的设备上看到的内容,但这并不是我的代码中真正硬编码的):
.a { width: 260px; background-color: yellow; }
h1 { word-wrap: break-word; }Run Code Online (Sandbox Code Playgroud)
<div class="a">
<h1>Internationalisation</h1>
</div>Run Code Online (Sandbox Code Playgroud)
python ×7
windows ×2
android ×1
audio ×1
buildozer ×1
c++ ×1
cl ×1
css ×1
cython ×1
dictionary ×1
dll ×1
file ×1
google-apps ×1
html ×1
io ×1
javascript ×1
kivy ×1
namedtuple ×1
numpy ×1
paramiko ×1
pysftp ×1
python-3.8 ×1
python-3.x ×1
sftp ×1
ssh ×1
triggers ×1
tuples ×1
vector ×1
visual-c++ ×1
wasapi ×1
winapi ×1
windows-7 ×1
word-break ×1