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

Win10下Python如何访问USB连接安卓手机SD卡中的图片?

解决Win10下Python访问安卓手机SD卡图片的问题

Windows资源管理器里显示的This PC\Redmi Note 11\SD-карта\0.png是MTP协议的虚拟路径,不是传统的磁盘盘符路径,Python标准文件操作函数不支持MTP协议,所以识别不了,枚举驱动器也找不到目标设备。下面是几种可行的解决办法:

方法一:把SD卡映射为网络驱动器

这是最接近本地盘符操作的方式,步骤如下:

  • 手机通过USB连接电脑,在手机弹窗里选择「文件传输(MTP)」模式
  • 打开Windows资源管理器,找到Redmi Note 11下的SD-карта,右键点击它选择「映射网络驱动器」
  • 给它分配一个空闲盘符(比如Z:),确认完成映射
  • 之后就可以像访问本地硬盘一样用盘符路径访问图片,Python代码示例:
file = r'Z:\0.png'
# 用with语句确保文件正确关闭
with open(file, 'rb') as handle:
    img_content = handle.read()
    # 这里可添加图片处理逻辑,比如用PIL库打开

方法二:用支持MTP的Python库直接访问

如果不想映射盘符,可以用专门支持MTP的库,比如pymtp:

  • 先安装库:
pip install pymtp
  • 示例代码(需根据实际设备调整):
import pymtp

# 建立MTP连接
mtp = pymtp.MTP()
mtp.connect()

# 遍历存储设备,找到SD卡
storage_list = mtp.get_storage_devices()
sd_card = None
for storage in storage_list:
    if 'SD-карта' in storage.name:
        sd_card = storage
        break

if sd_card:
    # 获取SD卡下的0.png文件对象
    file_obj = mtp.get_file_object(sd_card, '/0.png')
    # 读取文件内容到本地或直接处理
    with open('local_copy.png', 'wb') as f:
        f.write(mtp.get_file_data(file_obj))

# 断开连接
mtp.disconnect()

注意:pymtp可能依赖系统MTP驱动,部分环境需额外调试。

方法三:临时复制到本地访问

如果只是临时需求,直接在Windows资源管理器里把SD卡上的0.png复制到本地硬盘(比如D盘),然后用你原本的本地路径代码访问即可,这种方法最简单,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:10:19