首页 > 解决方案 > 如何根据文件路径保存文件?

问题描述

我创建了浏览按钮,它告诉我我想要什么

这是我的代码

from PyPDF2 import PdfFileReader
import tkinter as tk
from tkinter import filedialog


root = tk.Tk()

label_list = []

def get_info(path):
    with open(path, 'rb') as f:
        pdf = PdfFileReader(f)
        info = pdf.getDocumentInfo()

        label_list[0].config(text=pdf.getNumPages())
        label_list[1].config(text=info.author)
        label_list[2].config(text=info.creator)
        label_list[3].config(text=info.producer)
        label_list[4].config(text=info.subject)
        label_list[5].config(text=info.title)

def browsefunc():
    filename = filedialog.askopenfilename()
    pathlabel.config(text=filename)
    get_info(filename)

browsebutton = tk.Button(root, text="Browse", command=browsefunc)
browsebutton.pack()

pathlabel = tk.Label(root)
pathlabel.pack()

for i in range(6):
    label_list.append(tk.Label(root, text=""))
    label_list[i].pack()


root.mainloop()

以及如何从文件路径浏览按钮保存或移动到新目录?

我真的希望得到你的帮助

标签: python-3.xuser-interfacetkinter

解决方案


听起来您想让浏览窗口从与 python 脚本所在位置不同的目录位置开始打开(默认行为)?

如果是这样,请将目录名称作为参数提供,filedialog.askopenfilename()如下所示:

# Example Directories 
# example_path = os.path.abspath('C:/Users/MyName/Desktop')
# example_path = os.path.abspath('C:/example/cwd/mydir/')
# or 

example_path = os.path.abspath('C:/Windows/Temp')
filename = filedialog.askopenfilename(initialdir=example_path)

将在该目录中打开文件浏览器。


推荐阅读