Выбор каталогов в Tkinter Pyton

Есть программка в которой нужно получать файлы и папки из памяти смартфона. К компьютеру по USB подключен смартфон (андроид)

import tkinter as tk
from tkinter import Tk, filedialog
import os

#####++++++++++++++++++++++++++++++++++++++++++++

    root = Tk()
    root.title("Anythin")
    root.geometry('600x400+300+150')
    root.resizable(False, False)
    path_to_dir = filedialog.askdirectory()  
    print(path_to_dir)
    path_to = filedialog.askopenfiles()
    print(path_to)
    root.mainloop()

#+++++++++++++++++++++++++++++++++++

В результате:

filedialog.askdirectory() вообще не видит телефона. filedialog.askopenfiles() видит все что нужно но выводит странный путь name='C:/Users/Qwert/AppData/Local/Microsoft/Windows/INetCache/IE/XX3T44FO/01._Black_Dog[1].mp3'

Что я делаю не так?


Ответы (1 шт):

Автор решения: Fox Fox

Tkinter точно в сторону отложите, Андроид - отдельная планета. Доступ к телефону на базе Андроид проще простого в Windows 11 - подсоединил и получил доступ. Но я пользуюсь ещё более удобным подсоединением - с помощью файлового менеджера Total Commander. Если же охота возиться с этим дурдомом, пробую предложить такое (нашёл):

python-pure-adb - доступ через Android Debug Bridge (ADB) and Fastboot protocols. https://stackoverflow.com/questions/30974441/how-to-run-adb-commands-through-python

PyUSB: Этот модуль предоставляет простой доступ к системе USB хоста на вашем компьютере. Он поддерживает различные платформы и может быть использован для взаимодействия с USB-устройствами, включая Android-смартфоны.

usb4a: Этот модуль предназначен для работы с USB-хостом на Android. Он может быть использован для реализации драйверов USB-устройств для Android, таких как драйверы последовательных портов USB.

usbserial4a: Этот модуль также предназначен для работы с USB-хостом на Android и поддерживает различные драйверы последовательных портов USB.

Лично мне весь этот геморрой не понравился. Тонна мусора в систему попадёт точно. А насчёт результата не уверен.

→ Ссылка