【问题标题】:open image files from window explorer using python code使用 python 代码从窗口资源管理器打开图像文件
【发布时间】:2021-06-07 14:57:02
【问题描述】:

我最近刚为我的研究生学习了 python(所以我没有很强的 cs 背景)。我正在处理一个大文件夹中许多不同子文件夹中的大量图像文件,所以我想构建一个 python 代码来搜索和打开它们。

我被介绍到 os 和 sys 库来玩它们。我可以打开文件,但只有当我专门为文件放置完整的目录路径时。当我只知道文件夹名称时,我无法构建将 python 定向到正确文件夹的代码(我不确定我是否有意义哈哈抱歉)。

我的目标是能够在 python 输出中键入包含图像的文件夹的 ID 名称,以便可以拉出并显示文件。

任何建议都会很棒!非常感谢!

【问题讨论】:

  • os是要走的路!我会查看 os.listdiros.path.abspath - 例如 os.path.abspath(os.listdir(my_folder)[0]) 将提取 my_folder 中的文件之一的路径。
  • 我明白了,我会试试的,非常感谢!
  • @Seon 嗨!我想知道是否有任何方法可以选择我自己的文件,而不仅仅是上面的第一个文件(就像你写的 [0] 一样)?在这种情况下我可以使用什么?
  • 您能说得更具体些吗?当您说“选择我自己的文件”时,您是否正在寻找一个显示所有文件并让您选择一个的界面?您是否知道它的扩展名/部分名称并想从中自动选择它?或者完全是别的什么?
  • 您的操作系统可能已经有一些工具可以帮助您做到这一点,或者已经有软件可以做到这一点。如果您更喜欢自己编写代码,@Matcha38 是对的,您应该扩展您打算如何使用它并尝试编写代码。网上有很多教程可以学习如何在 Python 中处理文件。

标签: python windows operating-system explorer sys


【解决方案1】:

您应该查看我们在 cmets 中向您推荐的功能的文档。此外,您可能有兴趣阅读一些有关文件和目录的教程,主要是 Python。
看看我们要问你多少问题才能理解你想做什么。提供代码。清楚地解释您的输入是什么、它的类型、它的可能值以及预期的输出是什么。

无论如何,就我目前所了解的,这里是一个基于os.startfile的提案:

import os
from pathlib import Path

# here I get the path to the desired directory from user input, but it could come from elsewhere
path_to_directory = Path(input("enter the path to the folder : "))

extension_of_interest = ".jpg"
filepaths_of_interest = []

for entry in path_to_directory.iterdir():
    if entry.is_file() and entry.name.endswith(extension_of_interest):
        print("match: " + str(entry))
        filepaths_of_interest.append(entry)
    else:
        print("ignored: " + str(entry))

print("now opening ...")
for filepath_of_interest in filepaths_of_interest:
    os.startfile(filepath_of_interest, "open")

运行时,给定路径C:/PycharmProjects/stack_oveflow/animals,它会打印:

enter the path to the folder : C:/PycharmProjects/stack_oveflow/animals
ignored: C:\PycharmProjects\stack_oveflow\animals\cute fish.png
match: C:\PycharmProjects\stack_oveflow\animals\cute giraffe.jpg
match: C:\PycharmProjects\stack_oveflow\animals\cute penguin.jpg
match: C:\PycharmProjects\stack_oveflow\animals\cute_bunny.jpg
now opening ...

3张jpg图片已经用我的默认图片查看器打开了。

startfile 函数被要求"open" 文件,但文档中描述了其他可能性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-09
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多