You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自动发帖工具如何将列表文件名转换为上传对话框所需格式

问题解决方法

问题根源

你直接将new_upload[i]这个列表对象传入str.format()方法时,Python会默认将列表转为带[]、逗号分隔的原生字符串格式,不符合Windows文件上传对话框要求的多文件输入规则。

修正代码

Windows系统的文件选择对话框要求多文件输入格式为:每个文件名/完整路径分别用双引号包裹,两两之间用空格分隔,按你的使用场景选对应修改方案即可:

方案1:对话框已提前定位到F:\test目录,只需输入文件名

# 取出对应批次的文件名列表,拼接为要求的格式
upload_filenames = ''.join([f'"{name}"' for name in new_upload[i]])

# pywinauto 写法
app["open"]["Edit1"].set_text(upload_filenames)

# pyautoit 写法
autoit.control_set_text(handle, "Edit1", upload_filenames)

方案2:直接填入完整路径,无需提前切换对话框目录

需要先导入os模块处理路径拼接:

import os

folder_path = r"F:\test"
# 每个文件拼完整路径后按要求格式拼接
upload_filenames = ' '.join([f'"{os.path.join(folder_path, name)}"' for name in new_upload[i]])

# pywinauto 写法
app["open"]["Edit1"].set_text(upload_filenames)

# pyautoit 写法
autoit.control_set_text(handle, "Edit1", upload_filenames)

补充说明

该写法天然兼容文件名带空格的场景,只要拼接出来的字符串符合双引号包裹、空格分隔的规则,就能一次性选中批次内的所有文件。


内容的提问来源于stack exchange,提问作者veryHardPython

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 02:21:01