问题标签 [python-aiofiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ASGI“寿命”协议似乎不受支持
我在 fastapi 和 aiofiles 上运行了一个异步代码,我试图从 .json 文件加载和保存我的信息,但每次我关闭程序时,它只保存 dict 的键并向我显示“ASGI 'lifespan'协议似乎不受支持”按摩
这是我的开启/关闭部分:
任何想法问题出在哪里?
python - 如何使用 get 请求的响应通过 aiohttp 上传文件?
首先,我正在为 WordPress REST API 编写一个异步包装器。我有一个托管在 Bluehost 上的 Wordpress 网站。我正在使用端点进行媒体(图像)上传。我已经成功上传了一张图片,但我想做两处更改。第二个更改是我真正想要的,但出于好奇,我也想知道如何实现更改 1。我将首先提供代码,然后提供一些细节。
工作代码
变化 1
第一个更改是使用 aiofiles.open() 上传,而不是只使用 open(),因为我希望处理大量文件。以下代码不起作用。
变化 2
我的另一个变化是我想要另一个功能,可以直接将文件上传到 WordPress 服务器,而无需在本地下载它们。因此,我不想获取本地图片,而是想在线传递图片的 url。以下代码也不起作用。
详细信息/调试
我试图弄清楚为什么每个都行不通。我认为关键是调用print(image_content)
并print(f)
显示我输入的确切内容mpwriter.append
在我只使用标准 Pythonopen()
函数的示例中,我显然是在传递<_io.BufferedReader name='/redactedfilepath/index.jpeg'>
在使用 aiofile 的更改 1 示例中,我传入<aiofiles.threadpool.binary.AsyncBufferedReader object at 0x7fb803122250>
Wordpress 将返回此 html:
b'<head><title>Not Acceptable!</title></head><body><h1>Not Acceptable!</h1><p>An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.</p></body></html>'
最后,在更改 2 中,我尝试将 get 请求传递给 url 给我的内容
<StreamReader 292 bytes>
。WordPress 返回的响应与上面的 Mod Security 相同。
知道如何使这些示例起作用吗?似乎它们都是某种类型的 io 阅读器,但我猜底层 aiohttp 代码对它们的处理方式不同。
这也无关紧要,但这是我传递给更改 2 示例的 url。
python - aiofiles - 根据特定条件异步删除文件夹中的文件
我有大约 50 000 个 HTML 文件的文件夹。我正在尝试编写打开文件的脚本,如果标题包含某个字符串,则应该删除文件。
这是我迄今为止的尝试:
但我得到:
不知道使用 aiofiles 打开后要使用哪些函数来关闭和删除?
编辑 - 基于@joao 答案的工作代码
python-3.x - next line thingy doesn't work when used proper syntax
path is a string but Monthly is date. I can Insert all in a text file but I am not getting the desired output:
The output that I wish should be
But the output that I get is
The extra line after the path is causing problems.
python - 异步文件复制 - 为什么文件描述符不好?
想实现 Python 代码来读取和写入(即复制)文件。目标是同时读取和写入,因此它减少了执行文件复制的时间。这是一个让我熟悉 async/await 范式的学习练习。
这是我当前的实现,但代码错误。第二次或第三次文件读取操作抛出“Bad File Descriptor”。输入文件确实存在,我可以使用 <file_object>.read() 正常读取它
想知道这里出了什么问题吗?使用异步文件是否有一些意想不到的副作用?
这是完整的堆栈跟踪:
python - Python使用aiofiles并行读取目录中的文件
所以,基本上我正在考虑将本地目录中的一些文件上传到云存储。本地目录将包含多个文件,这些文件可能非常大,因此我试图找到一种并行上传它的方法,每个文件都以块的形式读取,以免阻塞内存。
现在,我可以使用它连续完成它并且它可以工作
file_chunks 定义为
现在,当我计划并行上传多个文件时,我希望是否可以使用aiofiles
并asyncio
执行此操作。所以,我尝试将上面的内容重写为下面的内容
file_chunks 的定义更改为
我现在有 2 个文件要上传,我希望看到打印语句,打印类似
但是,我看到它正在连续运行
只有当 File1 结束时,File 2 才会开始。
我浏览了一些 Stack Overflow 帖子,他们提到使用multiprocessing
. 这是唯一可能的方法吗?
就我而言,没有任何“处理”(主要计算),只是试图上传文件。asyncio 和 aiofiles 是否无法处理它,例如在读取一个文件时,程序不会等待(异步)并开始读取下一个文件?或者我只是在我的代码中做错了什么?
任何问题,我可以详细说明。
python - AIOFiles 比正常文件操作花费更长的时间
我有一个问题,我是 python 异步世界的新手,我编写了一些代码来测试它的功能asyncio
,我创建了 10 个包含随机内容的文件,命名为file1.txt, file2.txt, ..., file10.txt
这是我的代码:
并得到了这个结果:
为什么异步代码比同步代码花费更长的时间?我哪里做错了?
python-asyncio - Aiofiles 导入在 buildozer、apk 构建中不起作用但崩溃
有没有人成功地将 aiofiles 合并到 buildozer apk 中。该软件包正在构建,但在手机或模拟器上安装 apk 后会崩溃。我已经测试了所有其他进口产品,它们工作正常。Buildozer 规格如下
[应用程序]
标题 = 我的应用程序
package.name = myapp
package.domain = org.test
源.dir = .
source.include_exts = py,png,jpg,kv,atlas,json,mp3,gif,txt,md,gitignore,ttf,zip,cfg,TTF
#source.include_patterns = assets/ ,images/ .png
#source.exclude_exts = 规范
#source.exclude_dirs = 测试,bin
#source.exclude_patterns = license,images/ / .jpg
版本 = 0.1
要求 = python3,kivy,google,pyjnius,kivymd,certifi,kivyauth,openssl,ws4py,jnius,android,google-auth,凭证,oauth2,urllib3,oauth2client,firebase,pygame,jwcrypto,pycryptodome,sseclient,requests_toolbelt,python_jwt, gcloud,rsa,密码学,httplib2,pyrebase,sdl2,sdl2_image,sdl2_mixer,sdl2_ttf, firebase-auth,cachetools,google-cloud,firebase-client,google-cloud-storage,jwt,PIL,chardet,nodejs,ast,aiofiles,线程,日期时间,操作系统,sys,re,cython,pip,setuptools,线程,concurrent.futures,asyncio,plyer
方向=纵向
osx.python_version = 3
osx.kivy_version = 1.9.1
全屏 = 0
#android.permissions = 互联网
#android.api = 30
#android.minapi = 21
#android.sdk = 20
#android.ndk_api = 21
#android.private_storage = 真
#android.ndk_path =
#android.sdk_path =
#android.logcat_filters = *:S python:D
#android.copy_libs = 1
android.arch = armeabi-v7a
p4a.branch = 主
#ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy ios.ios_deploy_branch = 1.7.0
#[构建器]
python - 使用 Aiofiles 读取文件时的 Python 错误
简单的问题陈述。我想异步读取文件。我的问题是当我尝试使用 aiofiles.open 读取文件时,它只是出现了神秘的消息错误
问题的症结可以用下面的例子来证明
该文件已创建,但我无法使用 aiofiles 读取相同的文件。
我试过指定编码等,但没有任何帮助。
这个错误是什么意思?