【问题标题】:Accessing a folder from type PyIShellFolder (iPhone connected by USB)从类型 PyIShellFolder 访问文件夹(通过 USB 连接的 iPhone)
【发布时间】:2022-10-02 19:25:39
【问题描述】:

我需要访问我的 iPhone DCIM 文件夹中的照片 - 通过 USB 连接。 我正在使用以下代码查找 DCIM 文件夹路径。 但是,此代码的输出是PyIShellFolder 类型。 例如,如何使用此文件夹位置获取其中文件的文件名并打开它们?

from win32com.shell import shell, shellcon
import pythoncom

path = \'\'
desktop = shell.SHGetDesktopFolder()
for pidl in desktop:
    if desktop.GetDisplayNameOf(pidl, shellcon.SHGDN_NORMAL) == \"This PC\":
        pidl_get = pidl
        break
folder = desktop.BindToObject(pidl_get, None, shell.IID_IShellFolder)

for pidl in folder:
    if folder.GetDisplayNameOf(pidl, shellcon.SHGDN_NORMAL) == \"Apple iPhone\":
        pidl_get = pidl
        break
folder = folder.BindToObject(pidl_get, None, shell.IID_IShellFolder)

for pidl in folder:
    if folder.GetDisplayNameOf(pidl, shellcon.SHGDN_NORMAL) == \"Internal storage\":
        pidl_get = pidl
        break
folder = folder.BindToObject(pidl_get, None, shell.IID_IShellFolder)

for pidl in folder:
    if folder.GetDisplayNameOf(pidl, shellcon.SHGDN_NORMAL) == \"DCIM\":
        pidl_get = pidl
        break
path = folder.BindToObject(pidl_get, None, shell.IID_IShellFolder)
  • 对于 iPhone 不确定,但对于通过 USB 连接的 Android 设备,不可能打开操作系统级别的文件。您只能在资源管理器级别列出和复制文件。根本问题是标准文件系统只能安装在一个系统上。因此,从辅助系统可以做什么取决于主系统提供了哪些功能。

标签: python pywin32 win32com python-os


【解决方案1】:

检查docs。有EnumObjects。此外,您可能能够复制文件但不直接打开他们。您必须先将它们复制到本地临时位置,然后从那里打开它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多