如何用Python弹出选择文件夹的对话框
本帖最后由 nizitao 于 2021-12-10 18:17 编辑如何用python弹出选择文件夹的对话框 如果只是打开某个文件夹,可以用 os.popen(cmd='explorer.exe "C:\\Downloads"')
若是要打开和指定选择一个文件夹(目录),则通常是用GUI里 特定的方法,如
tkinter的
filedialog.askdirectory(initialdir='.\\music')
PyQt5的
QtWidgets.QFileDialog.getExistingDirectory(self, '请选择一个目录')
需要gui相关 wp231957 发表于 2021-12-8 20:55
需要gui相关
确实 wp231957 发表于 2021-12-8 20:55
需要gui相关
但代码怎么写呢 可以写一个BrowserDir函数,正好我最近写一个批量处理PDF的小脚本(对选定文件夹的PDF文件批量操作,如果PDF文件总页数为奇数页,则在最后一页插入一页空白页),代码供参考~~
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
import tkinter
import tkinter.filedialog
import tkinter.messagebox
class Window():
def __init__(self):
self.root = root = tkinter.Tk()
self.label = tkinter.Label(root, text='奇数页PDF批量插入空白页')
self.label.grid(row=0, column=0)
self.label = tkinter.Label(root, text='选择目录')
self.label.grid(row=1, column=0)
self.entryDir = tkinter.Entry(root)
self.entryDir.grid(row=1, column=1)
self.BrowserDirButton = tkinter.Button(root, text='浏览', command=self.BrowserDir)
self.BrowserDirButton.grid(row=1, column=2)
self.ButtonCov = tkinter.Button(root, text='开始处理', command=self.Conv, )
self.ButtonCov.grid(row=2, column=0)
def BrowserDir(self):
directory = tkinter.filedialog.askdirectory(title='Little Turtle')
if directory:
self.entryDir.delete(0, tkinter.END)
self.entryDir.insert(tkinter.END, directory)
def Conv(self):
path = self.entryDir.get()
for file in os.listdir(path):
if file[-4:] in ('.pdf', '.PDF'):
PDFFile = path + "/" + file
pdf_reader = PdfFileReader(PDFFile)
pdf_writer = PdfFileWriter()
NumPages = pdf_reader.getNumPages()
if NumPages % 2 == 1:
pdf_writer.appendPagesFromReader(pdf_reader)
#在总页数为奇数的PDF文件最后插入空白页,尺寸与最后一页一致
pdf_writer.addBlankPage()
with open(PDFFile, "wb") as out:
pdf_writer.write(out)
out.close()
def mainloop(self):
self.root.minsize(330, 150)
self.root.maxsize(330, 150)
self.root.title('Little Turtle')
self.root.mainloop()
if __name__ == "__main__":
window = Window()
window.mainloop() 本帖最后由 nizitao 于 2021-12-10 18:12 编辑
xhlbudd 发表于 2021-12-8 21:20
可以写一个BrowserDir函数,正好我最近写一个批量处理PDF的小脚本(对选定文件夹的PDF文件批量操作,如果PD ...
谢谢
页:
[1]