小编Ton*_*ony的帖子

如何从路径或字符串获取“PCWSTR”对象?

我正在使用IDesktopWallpaper::SetWallpaperwindows crate 中的方法。此方法的第二个参数是PCWSTR指向要设置为壁纸的图像的完整路径的(指针)。问题是该PCWSTR对象的类型是*const u16not *const String。如何PCWSTR从路径/字符串获取对象?

let path = "Path_to_image.jpg".to_string();
let ptr = &path as *const String;
let wallpaper = PCWSTR::from_raw(ptr); 
//                               ^^^  expected raw pointer `*const u16` 
//                                         found raw pointer `*const String`

unsafe { desktop.SetWallpaper(None, wallpaper)};
Run Code Online (Sandbox Code Playgroud)

winapi rust windows-rs

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

Python HTTPX | RuntimeError:连接池已关闭,而 6 个 HTTP 请求/响应仍在进行中

我在使用 HTTPX 模块时多次遇到此错误。我相信我知道这意味着什么,但我不知道如何解决。

在下面的示例中,我有一个异步函数 Gather_players(),它将 get 请求发送到我正在使用的 API,然后返回指定 NBA 球队的所有球员的列表。在 teamRoster() 内部,我使用 asyncio.run() 来启动 Gather_players() ,这就是产生此错误的行:RuntimeError: The connection pool was closed while 6 HTTP requests/responses were still in-flight

async def gather_players(list_of_urlCodes):

    async def get_json(client, link):
        response = await client.get(BASE_URL + link)

        return response.json()['league']['standard']['players']

    async with httpx.AsyncClient() as client:

        tasks = []
        for code in list_of_urlCodes:
            link = f'/prod/v1/2022/teams/{code}/roster.json'
            tasks.append(asyncio.create_task(get_json(client, link)))
        
        list_of_people = await asyncio.gather(*tasks)
        
        return list_of_people

def teamRoster(list_of_urlCodes: list) -> list:
        list_of_personIds = asyncio.run(gather_players(list_of_urlCodes))

        finalResult = []
        for person …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-asyncio httpx

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

不知道如何使用 IDesktopWallpaper

在文档中有一个结构“IDesktopWallpaper”,其方法名为“GetWallpaper”。该方法引用“self”,但没有“IDesktopWallpaper”的构造函数方法。

use windows::{
    core::*,
    Win32::UI::Shell::IDesktopWallpaper,
};

fn main() -> Result<()> {
    unsafe {
        //                              ?????
        IDesktopWallpaper::GetWallpaper(&self, monitorid);
    }

    Ok(())
}
Run Code Online (Sandbox Code Playgroud)

为了达到我想要的结果,我应该做什么?

winapi rust windows-rs

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

Python:如何使用元组数组替换字符串元素?

我正在尝试用字母表中的字符替换反转字母表中的字符。这就是我所拥有的:

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
rev_alphabet = alphabet[::-1]

sample = "wrw blf hvv ozhg mrtsg'h vkrhlwv?"

def f(alph, rev_alph):
    return (alph, rev_alph)

char_list_of_tups = list(map(f, alphabet, rev_alphabet))

for alph, rev_alph in char_list_of_tups:
    sample = sample.replace(rev_alph, alph)

print(sample)
Run Code Online (Sandbox Code Playgroud)

预期输出:你看了昨晚的剧集吗?

实际输出:wrw 你 svv ozst nrtst 的 vprsowv?

我知道我正在打印整个迭代的最后一个“替换”。如何避免这种情况,而不将其附加到列表中,然后遇到单词间距问题?

python

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

标签 统计

python ×2

rust ×2

winapi ×2

windows-rs ×2

asynchronous ×1

httpx ×1

python-asyncio ×1