V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  fzzff  ›  全部回复第 1 页 / 共 6 页
回复总数  120
1  2  3  4  5  6  
72 天前
回复了 bawanag 创建的主题 Android 求推荐 8gen3 手机
你这简直在描述小魅族
73 天前
回复了 zywscq 创建的主题 Python Python 内存优化技巧大合集
@Muxson 每次看到你这种说法就很无语, 就好比我喜欢骑自行车, 我问别人怎么才能让自己骑自行车能更快点, 然后对方跟我说真想快你骑自行车干嘛, 干嘛不骑摩托车, 你真当别人都是傻子都不知道骑摩托车更快吗
90 天前
回复了 iorilu 创建的主题 Python 问问看,有没有现成得爬论坛帖子的程序
比如你可以买我的时间来给你写爬虫
94 天前
回复了 softerzhangyu 创建的主题 Python Python 新框架讨论
@qloog 得综合需求来看吧, 这两个框架我都在用, 写 C 端项目的时候大部分接口并不是增删改查这时候 drf 跟项目的贴合度就没那么高, 自带的 ModelViewSet 基本也用不上, 这时候用 fastapi 就舒服很多, 当然也可以用 django-ninja, 不过 django 对异步的支持不好就不如直接用 fastapi 了
94 天前
回复了 inSpring 创建的主题 Python 大家最近新项目用什么 Web 框架?
fastapi+tortoise-orm 刚从 django 切换过来感觉除了没了好用的自带 admin 其他体验都很不错
101 天前
回复了 2088TXT 创建的主题 问与答 有没有懂抖音发布的~~求解惑
我看了下官方文档, 确实没有背景音乐相关的参数, 直接问下技术支持, 估计其他产品是用爬虫技术实现的吧
101 天前
回复了 ohayoo 创建的主题 Python 新手求助一个蛋疼的问题
session 为什么不能写为全局变量?
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
@jgh004 我的刚开始也是时好时坏, 取出来重装一下就能用一段时间, 今天彻底歇菜了
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
@ICU 淘宝挺多店可以 3200 左右拿下的
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
@tcl 你说的这两个缺点我倒是完全不在意, 但是价格问题还是有点在意, 所以也在纠结魅族 20pro 和魅族 21, 20pro 基本 3200 左右就拿顶配了, 21 对比 20pro 的升级值不值 800 块
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
有没有老魅族用户现身说法
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
@iv8d 把魅族 20pro 放上去确实是价格心动,3200 的价格能拿下 12+512
114 天前
回复了 fzzff 创建的主题 买买买 决赛圈 iqoo12/魅族 20pro/魅族 21 怎么选
@TAFMT 线下实体店看了看 iqoo12 和 x100 感觉 x100 外观不太喜欢, 正面和我 p30p 差不多, 后面那么大摄像头模组接受不了, 小米的话个人单纯不太喜欢这个品牌所以不考虑, 因为近期刷到一些魅族 flyme 系统的小窗功能, 感觉很杀我目前很倾向于魅族里选, 但还是有点纠结整体性能游戏体验等等会跟 iqoo12 差很多
@hello2090 你的意思是先将图片转为视频, 再由视频转为视频流吗? 前端那边推送过来的流是源源不断的, 是需要按规则处理成多段视频再合并成视频流吗
188 天前
回复了 leslieranaa 创建的主题 程序员 跨平台命令行换源工具 chsrc
抱歉, 没有仔细看, 是有手动选择的功能的
188 天前
回复了 leslieranaa 创建的主题 程序员 跨平台命令行换源工具 chsrc
很棒, 可不可以增加一个手动选择镜像源的功能
244 天前
回复了 ohayoo 创建的主题 Python 请大佬帮忙瞄一眼我这个丑陋的异步协程代码
asyncio.run(main(uris))无论如何不应该放到循环里, 每次 asyncio.run()会创建一个新的事件循环, 你这个代码跑完创建了一堆事件循环同时运行性能必然受损, 而且你的 result 接收到的也不是完整的结果, 如果你想并发运行一组任务应该用 asyncio.gather
244 天前
回复了 ohayoo 创建的主题 Python 请大佬帮忙瞄一眼我这个丑陋的异步协程代码
以上是 chatgpt 给出的代码优化建议, 另外个人建议你把请求库替换成 httpx
244 天前
回复了 ohayoo 创建的主题 Python 请大佬帮忙瞄一眼我这个丑陋的异步协程代码
以下是对代码进行优化的建议:

1. 使用异步文件读取:可以使用`aiofiles`库来实现异步文件读取,从而避免阻塞事件循环。这将使得文件的读取操作也能并发进行,提高效率。

2. 使用异步上下文管理器:`aiohttp`支持异步上下文管理器,你可以使用`async with`语法来创建`ClientSession`,这样会更加简洁,而且会在任务完成后自动关闭会话。

3. 使用`asyncio.as_completed`:在并发执行任务时,可以使用`asyncio.as_completed`来获取已完成的任务,而不是等待所有任务都完成再处理结果。这样可以更早地得到一部分结果,并在需要时立即处理。

4. 异常处理:对于异步代码,异常处理十分重要。可以在任务执行时捕获异常,并记录错误信息,以便后续分析和处理。

下面是优化后的代码:

```python
import asyncio
import aiofiles
from aiohttp import ClientSession

async def delete_file(session: ClientSession, sem: asyncio.Semaphore, uri: str):
headers = {'Authorization': 'xxxxxxxxxxx'}
url = api + uri
try:
async with sem:
async with session.delete(url, headers=headers) as response:
return uri, response.status
except Exception as e:
# 处理异常,比如记录错误日志
print(f"Error occurred while processing {uri}: {str(e)}")
return uri, None

async def main(uris):
sem = asyncio.Semaphore(100)
async with ClientSession() as session:
tasks = [delete_file(session, sem, uri) for uri in uris]
for future in asyncio.as_completed(tasks):
uri, status = await future
if status is not None:
print(f"{uri}: {status}")
else:
print(f"{uri}: Error")

async def read_uris(filename):
async with aiofiles.open(filename, mode='r') as fp:
async for line in fp:
yield line.strip()

if __name__ == '__main__':
asyncio.run(main(read_uris("uris.txt")))
```

在优化后的代码中,我们使用`aiofiles`库来异步读取文件,并使用`async for`来逐行获取 URI 。同时,我们使用`asyncio.as_completed`来处理已完成的任务,这样在某些任务执行较慢时,可以更早地输出结果,提高实时性。另外,我们在`delete_file`函数中增加了异常处理,确保在出现异常时不会导致整个任务中断。
2022-12-30 15:48:24 +08:00
回复了 sevenandeleven 创建的主题 Python flask + nginx + uwsgi +docker-compose
docker-compose.yml 的目录层级放哪了, 是不是 build 指定路径不对找不到对应的 Dockerfile
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3103 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 12:55 · PVG 20:55 · LAX 05:55 · JFK 08:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.