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

如何指定Windows 11下连接的USB手机设备文件路径?

如何在Windows 11中通过Python访问Moto G(8) Play内部存储的Documents文件夹

你在Windows 11笔记本上连接Moto G(8) Play手机后,试图用Python代码访问手机内部存储的Documents文件夹,但当前代码里的示例路径(Este Computador\moto g(8) play\Armazenamento interno compartilhado\Documents)无法被os模块识别——原因是Windows通过MTP协议挂载手机存储,这类路径不属于本地文件系统,os模块无法直接读取。以下是几种可行的解决方法:

方法1:手动映射手机存储为驱动器号

Windows允许将MTP设备的存储映射为本地驱动器号,这样就能用常规文件路径访问:

  • 打开「此电脑」,右键点击手机的「内部共享存储」,选择「映射网络驱动器」。
  • 分配一个未使用的盘符(比如Z:),确认后完成映射。
  • 代码里直接使用映射后的路径,比如Z:\Documents,os模块就能正常调用os.listdir等方法访问文件。
  • 注意:手机需保持解锁状态,且连接时选择「文件传输(MTP)」模式。

方法2:使用支持MTP协议的Python库

如果不想手动映射,可以用专门处理MTP设备的Python库,比如pymtp:

  1. 先安装库:
    pip install pymtp
    
  2. 示例代码(适配Moto G(8) Play的大致逻辑):
    import pymtp
    import time
    
    # 初始化并连接MTP设备
    mtp = pymtp.MTP()
    mtp.connect()
    
    # 获取手机内部存储(通常是第一个存储设备)
    internal_storage = mtp.get_storage(0)
    # 查找Documents文件夹(部分设备路径可能是"/内部存储/Documents",可自行调整)
    doc_folder = mtp.get_folder(internal_storage, "/Documents")
    
    while True:
        # 获取文件夹内的所有文件
        folder_files = mtp.get_files(doc_folder)
        if folder_files:
            # 按修改时间排序,取最新文件
            latest_file = max(folder_files, key=lambda f: f.mtime)
            print("\n最新文件:", latest_file.name)
        time.sleep(1)
    
  • 若不确定Documents的准确路径,可先用mtp.list_folders(internal_storage)打印所有文件夹,找到对应路径。

关键注意点

  • 手机连接时必须选择「文件传输(MTP)」模式,不能是仅充电或照片传输模式。
  • 手机需保持解锁状态,否则Windows会限制对内部存储的访问。
  • 你原代码中的usb.core仅能识别USB设备,无法处理MTP协议的文件系统访问,需搭配专门库或映射驱动器来实现。

内容的提问来源于stack exchange,提问作者Luiz Eduardo Diniz Ottoni Juni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 06:05:10