如何使用 tkinter 将文件从文件夹复制到剪贴板?
How to copy file from a folder to clipboard using tkinter?
我有文件的路径,通常是图像或视频,我想将此文件复制到剪贴板,以便我可以将其粘贴到其他地方,例如:另一个文件夹、网站等
令人失望的是,以下内容不起作用
loc="C:/Path/To/File"
root.clipboard_clear()
root.clipboard_append(loc)
即使我 ctrl + C 文件并打印 self.parent.clipboard_get()
,我也会得到 loc
我怎样才能做到这一点?
我认为 tkinter 没有复制文件的方法,但如果你在 windows 上,你可以使用 powershell 命令 Set-Clipboard
。您可以使用 subprocess
模块来 运行 这个命令。这是一个最小的例子。
import subprocess
import tkinter as tk
def copy_file():
#cmd = r"ls '{}' | Set-Clipboard".format(absolute_path) # if you only want the contents of folder to be copied
cmd = r"gi '{}' | Set-Clipboard".format("background.png") # copies both folder and its contents
subprocess.run(["powershell", "-command", cmd], shell=True) # windows specific
root = tk.Tk()
copyfile = tk.Button(root, text="Copy file from c:\", command=copy_file)
copyfile.pack()
root.mainloop()
现在您可能想要 运行 来自另一个线程的 copy_file
。这是对我的旧
的引用
我有文件的路径,通常是图像或视频,我想将此文件复制到剪贴板,以便我可以将其粘贴到其他地方,例如:另一个文件夹、网站等
令人失望的是,以下内容不起作用
loc="C:/Path/To/File"
root.clipboard_clear()
root.clipboard_append(loc)
即使我 ctrl + C 文件并打印 self.parent.clipboard_get()
,我也会得到 loc
我怎样才能做到这一点?
我认为 tkinter 没有复制文件的方法,但如果你在 windows 上,你可以使用 powershell 命令 Set-Clipboard
。您可以使用 subprocess
模块来 运行 这个命令。这是一个最小的例子。
import subprocess
import tkinter as tk
def copy_file():
#cmd = r"ls '{}' | Set-Clipboard".format(absolute_path) # if you only want the contents of folder to be copied
cmd = r"gi '{}' | Set-Clipboard".format("background.png") # copies both folder and its contents
subprocess.run(["powershell", "-command", cmd], shell=True) # windows specific
root = tk.Tk()
copyfile = tk.Button(root, text="Copy file from c:\", command=copy_file)
copyfile.pack()
root.mainloop()
现在您可能想要 运行 来自另一个线程的 copy_file
。这是对我的旧