小编Bas*_*asj的帖子

使用多行字符串时的缩进

我有时需要使用多行字符串,但在嵌套块中。这有效,但可读性真的很差:

CONDITION1 = CONDITION2 = CONDITION3 = True

if CONDITION1:
    if CONDITION2:
        s = """jkljkj
dfkjslfds
sqjdlqkj"""
    elif CONDITION3:
        s = """azeazea
azeoiuaez
azeytzae
azetzae"""
Run Code Online (Sandbox Code Playgroud)

使用:

if CONDITION1:
    if CONDITION2:
        s = """jkljkj
               dfkjslfds
               sqjdlqkj"""
Run Code Online (Sandbox Code Playgroud)

(如Pythonic way to create a long multi-line string所建议的那样)不是一个选项,因为该字符串s将是:

jkljkj
               dfkjslfds
               sqjdlqkj
Run Code Online (Sandbox Code Playgroud)

带有不需要的左侧空格。

问题:如何在可读性好的嵌套块中使用多行字符串?

python string nested code-readability multilinestring

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

将值设置为变量的单行 lambda 函数

创建设置变量的回调函数,obj.x如下所示:

def f(button, callback):
    pass

def callback1():
    obj.x = 1
def callback2():
    obj.x = 2

class Obj: 
    pass
obj = Obj()
f('abc', callback2)
f('def', callback1)
Run Code Online (Sandbox Code Playgroud)

是多余的,可以替换为:

def xsetter(value):
    obj.x = value

f('abc', lambda: xsetter(1))
f('def', lambda: xsetter(2))
Run Code Online (Sandbox Code Playgroud)

问题:有没有更简单的,而不必为 定义一个setter x是否可能类似于以下内容?

f('abc', lambda: obj.x = 1)
f('def', lambda: obj.x = 2)
Run Code Online (Sandbox Code Playgroud)

这里它产生一个错误:

语法错误:lambda 不能包含赋值

python variables lambda

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

Unicode 字符名称的官方存储库

有几种方法可以获取所有 Unicode 字符名称的列表:例如使用 Python 模块unicodedata,如Unicode 字符名称列表中所述,或使用网站:https : //unicode.org/charts/charindex.html但这里不完整,您必须打开并解析 PDF 才能找到名称。

但是所有 Unicode 字符名称的官方来源/存储库是什么?(这样如果添加了新字符,列表就会更新,所以我正在寻找这些名称的初始来源,以机器可读的格式)。

我在寻找只是一个列表code point,并name在CSV或任何其他形式:

code   character name
...
0102   LATIN CAPITAL LETTER A WITH BREVE
0103   LATIN SMALL LETTER A WITH BREVE
...
Run Code Online (Sandbox Code Playgroud)

python string unicode

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

使用Python的音频低延迟

使用pygame音频播放时,我注意到高延迟(> 100 ms):

import pygame

pygame.init()
pygame.mixer.init()
sounda = pygame.mixer.Sound("test.wav")

def callback()
    sounda.play()

# callback is called by another function, but I could measure a high latency (> 100ms)
Run Code Online (Sandbox Code Playgroud)

pygame延迟的原因是什么?更一般地说,使用Python可以实现低延迟音频播放吗?

应用示例:当MIDI信息从MIDI键盘到达时播放一些.wav文件.(我想编写一个非常非常基本的音乐采样器).当然,延迟将在很大程度上取决于音频接口(ASIO或ASIO等),但我现在想分析Python是否可以实现低附加延迟,如果是这样,那么哪个模块更适合此目的.

python audio latency asio low-latency

0
推荐指数
1
解决办法
2137
查看次数

C ++中具有负整数的模

为什么在C ++ 中-26 % 10输出-6

如何获得将输出的标准模数4


注意:这个问题可能是一个重复这一个,或许多人,但我还没有找到一个在很短的方式制定,在眨眼可以理解的。正如我个人喜欢查找简短问题/简短回答(针对简单问题)一样,我认为这可能会引起其他人的兴趣。稍后我将删除此通知。

c++ modulo

0
推荐指数
1
解决办法
2064
查看次数

如果不同于0除以

我经常在我的代码中有这样的陈述:

(b != 0) ? a / b : a
Run Code Online (Sandbox Code Playgroud)

在速度和最佳C++实践方面,做功能更好

float divifnotzero(a,b) { ... return ... }
Run Code Online (Sandbox Code Playgroud)

或像这样的预处理器宏?

#define divifnotzero(a,b) ((b!=0)?a/b:a)
Run Code Online (Sandbox Code Playgroud)

c++ division c-preprocessor

0
推荐指数
1
解决办法
114
查看次数

用空文件复制目录文件结构

我有一个具有这种结构的目录(实际用例:数千个文件,400GB目录!):

mydir/
|---- blabla.mp4         3.2 GB
|---- foo/
       |----- blup/
       |----- test.wav   245 MB
       |----- test.txt   12 KB
|---- xyz/
       |----- test2.txt  10 KB
|---- zzz.wav            100 MB
Run Code Online (Sandbox Code Playgroud)

如何使用Windows复制树结构+文件名结构并获得它?

mydir_structure/
|---- blabla.mp4         0.0 KB
|---- foo/
       |----- blup/
       |----- test.wav   0.0 KB
       |----- test.txt   0.0 KB
|---- xyz/
       |----- test2.txt  0.0 KB
|---- zzz.wav            0.0 KB
Run Code Online (Sandbox Code Playgroud)

windows filesystems directory directory-structure batch-file

0
推荐指数
1
解决办法
878
查看次数

使用免费版的Visual C++从命令行构建.sln项目

如果我不想使用Visual Studio IDE的功能,是否可以安装Microsoft C++编译器的非时间限制 /非30天限制演示(哪个版本?)和构建一个直接来自命令行的.sln项目?

以下是我成功用于单个.cpp文件项目的内容:

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
cl helloworld.cpp /link user32.lib
Run Code Online (Sandbox Code Playgroud)

有没有办法将其扩展到.sln项目?

c++ visual-studio visual-c++

0
推荐指数
1
解决办法
383
查看次数

当按下右上角的十字按钮时,如何隐藏窗口而不是退出?

默认情况下,使用以下命令创建标准窗口:

HWND hwnd = CreateWindowEx(0, CLASS_NAME, L"Test", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, nCmdShow);
Run Code Online (Sandbox Code Playgroud)

当我们点击右上角的十字时,将被关闭,导致程序退出:

在此输入图像描述

我的程序有一个这样的窗口,但在系统托盘通知区域中也有一个始终存在的图标。

如何使单击右上角的十字使该窗口隐藏,但不退出程序?

这在主窗口消息循环中不起作用,应用程序仍在退出。

switch (msg) 
{
    case WM_CLOSE:
        ShowWindow(hWnd, SW_HIDE);
        break;
}
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi system-tray

0
推荐指数
1
解决办法
1108
查看次数

使用 python 发送 post 请求最快的方法是什么?

我尝试了普通的“请求”模块,但它真的很慢,有没有更快的方法来发送 POST 请求?

import requests 
from time import time 
t = time() 
requests.post("https://httpbin.org/post") 
print(time() - t)  # 0.884 s
Run Code Online (Sandbox Code Playgroud)

对于 GET 请求也是如此:

requests.get("https://example.com/") 
print(time() - t)  # 0.604 s
Run Code Online (Sandbox Code Playgroud)

python post http python-requests

0
推荐指数
1
解决办法
5484
查看次数

在 SQL 中仅更改一行的一列

假设我有一个名为 的 SQLite 数据库,包含 1000 行和 10 列col1, col2, ..., col9, id

如何仅更改col7特定行的?这或多或少是我想要实现的目标:

WITH mytable CHANGE col7 = 'newvalue' WHERE id = '156'
Run Code Online (Sandbox Code Playgroud)

是否可以在 1 个查询中完成?即不必先读取整行,然后重新发布整行,等等。

sql sqlite

-1
推荐指数
1
解决办法
3120
查看次数

纯 C 语言的字符串向量

在 C++ 中,以下是我如何填充字符串向量(每个字符串的长度可以从 1 到 65536),并对其进行迭代:

std::vector<std::string> v;
std::string s = "Hello1";
v.push_back(s);
std::string s2 = "ALongerHello2";
v.push_back(s2);
for (int i = 0; i < v.size(); i++)
    cout << v[i];
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其转换为纯 C 语言。我正在考虑使用:

char **v;
Run Code Online (Sandbox Code Playgroud)

但是,我如何跟踪每个字符串的开头呢?我应该使用单独的数组来存储每个字符串在内存空间中的偏移量吗?

更一般地说,如何在 C 中创建字符串向量?

c arrays string vector

-1
推荐指数
1
解决办法
6269
查看次数

dict中的函数

我想在dict中编写一个函数:

A = {
 'a': 6, 
 'b': 3,
 'operation': def myfunc(x, y): 
                # do many things here, I can't use a lambda x,y: ...
                return x + y
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.为什么?有没有办法让它发挥作用?

备注:以下解决方案的工作,但我真的喜欢写函数里面的字典:

def myfunc(x, y): return x + y

A = {
 'a': 6, 
 'b': 3,
 'operation': myfunc
}
Run Code Online (Sandbox Code Playgroud)

python dictionary function

-3
推荐指数
1
解决办法
142
查看次数