【问题标题】:Drag & drop interface for files?文件的拖放界面?
【发布时间】:2022-01-07 08:34:44
【问题描述】:

我有一个显示文件名的简单脚本

import os
path = "C:\\temp\\somefiles\\"
theFiles = os.listdir(path)
for f in theFiles:
  print(f)

bak.txt gwen.bat spoon_01.jpg spoon_02.jpg

到目前为止一切顺利。我希望能够将要处理的文件拖放到极简桌面小部件上,而不是对路径名进行硬编码。 Python 有哪些选择?

【问题讨论】:

  • 你应该看看 tkinter,特别是 askdirectory 小部件可能有用
  • 如果是 windows,你可以将你的 python 脚本添加到“打开方式”列表中,你根本不需要自己的界面。
  • @jeffUK 我使用的是 Windows,请您详细说明一下。
  • 在 Windows 上,如果您将文件和/或文件夹拖放到 Python 脚本上,它们将在运行时自动附加到 sys.argv 列表的末尾。您可以使用os.path.isdir() 来测试列表中的元素是否为目录。
  • 抱歉,我的意思是“发送到...”,您可以将您的 python 文件放在“发送到”列表中,然后它允许您将任何文件从资源管理器/桌面等发送到您的小部件。与@martineau 提到的将文件拖到 .py 文件上的方式相同,但更容易访问

标签: python windows user-interface


【解决方案1】:

根据 cmets,在 windows 中,您可以将文件拖到 .py 文件上,它将与 sys.argv 变量中的文件一起执行

import sys
theFiles = sys.argv[1:] #argv[0] is the script itself.
for f in theFiles:
  print(f)
input("Press Any Key to Continue")

将您的 .py 文件放在 windows 的“SendTo”目录中可以让您从右键菜单中执行此操作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 2013-07-04
    • 2012-11-25
    • 2014-09-03
    • 1970-01-01
    相关资源
    最近更新 更多