如何通过Python将文件复制到Android MTP?

bihw5rsg  于 2023-04-22  发布在  Python
关注(0)|答案(1)|浏览(149)

我遇到问题,找不到路径MTP设备
当我尝试这个脚本它给我一个错误

raceback (most recent call last):
  File "C:\Users\BSHR\Desktop\Fire HD10 2019 Bootless\file.py", line 11, in <module>
    os.replace(source,destination)
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:\\Users\\BSHR\\Desktop\\Fire HD10 2019 Bootless\\1.img' -> 'MTP:\\Fire\\Internal storage\\1xx.img'
import os

source = "C:\\Users\\BSHR\\Desktop\\Fire HD10 2019 Bootless\\1.img"

destination = "MTP:\\Fire\\Internal storage\\xx.img"

try:
    if os.path.exists(destination):
        print("file already")
    else:
        os.replace(source,destination)
        print(source+" was moved")
except FileNotFoundError:
    print(source+" was not found")

通过MTP将文件1.img传输到

oprakyz7

oprakyz71#

有两种方法。

  • 安装用户模式窗口文件系统驱动程序
  • 在Windows PC上安装Dokany
  • 使用mtpmount命令行工具将Android设备挂载到驱动程序号上

这样,Python就可以像访问其他文件系统一样访问Android上的文件。

  • 在Python脚本中使用PyMTP alike包。这将确保您的脚本可以在任何Windows PC上运行,但您必须使用其API,并且无法使用GUI(例如,文件对话框)轻松打开/关闭文件或遍历目录。
import pymtp
    
    devices = pymtp.get_devices()
    device = devices[0]  # Assume only one device is connected
    # Connect to the device
    with pymtp.MTPDevice(device.device_entry) as mtp:
        # List the directories on the device
        dirs = mtp.get_folder_list()
        enter code here

相关问题