记录python脚本开发中的各种琐屑操作
持续更新ing
tkinter的一些基础操作
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.title("title")
root.geometry("800x400+300+300")
root.mainloop()
label_title = tk.Label(root,text="这是一个文字显示栏",anchor="w",width=55,font=('Hiragino Sans GB W3', 10)).pack()
et_title=tk.Entry(root,show=None, width=40,font=('Hiragino Sans GB W3', 12))
et_title.pack()
self.et_title.insert(0,"アンソロジー")
self.et_creator.delete(0,'end')
bt_chooseCover = tk.Button(root,text="ChooseCover",font=('JetBrains Mono', 12),width=20,height=1,command=self.chooseCover)
bt_chooseCover.pack(side="bottom")
self.esc_bt = tk.Button(self)
self.esc_bt['width'] = 15
self.esc_bt['height'] = 1
self.esc_bt["text"] = "关闭"
self.esc_bt["command"] = super().quit
self.esc_bt.pack(side="bottom")
def beforeQuit(self):
if os.path.exists("temp/"):
os.system("rmdir /s/q temp")
super().quit()
bt_chooseCover.config(state=tk.DISABLED)
bt_chooseCover.config(state=tk.NORMAL)
bt_chooseBookDir = tk.Button(root,font=('JetBrains Mono', 12))
bt_chooseBookDir['width'] = 20
bt_chooseBookDir['height'] = 1
bt_chooseBookDir["text"] = "chooseBook"
bt_chooseBookDir["command"] = getImgDirectory
bt_chooseBookDir.pack(side="top")
scrolly = tk.Scrollbar(root)
scrolly.pack(side=tk.RIGHT, fill=tk.Y)
self.listbox_en = tk.Listbox(root,yscrollcommand=scrolly.set,width = 120)
listbox_en.pack(side=tk.LEFT, padx=5, pady=5)
listbox_en.delete(0, "end")
scrolly.config(command=listbox_en.yview)
default_dir = r"D:\"
filePath = tk.filedialog.askdirectory(title=u'选择文件', initialdir=(os.path.expanduser(default_dir)))
if filePath == "":
return
'''
os.path.expanduser函数的作用
在linux下面,一般如果你自己使用系统的时候,是可以用~来代表"/home/你的名字/"这个路径的.但是python是不认识~这个符号的,如果你写路径的时候直接写"~/balabala",程序是跑不动的.所以如果你要用~,你就应该用这个os.path.expanduser把~展开.
'''
filedialog_title = "选择章节"
chapterIndexPath = filedialog.askopenfilename(title = filedialog_title,multiple=False,\
initialdir = self.Images_dir,filetypes=[("图片文件",('.jpg','.png')),('All Files', '*')])
if chapterIndexPath== "":
return
os操作的细枝末节
myPath = r'D:\dir1\dir2\dir3'
if not os.path.exists(myPath):
os.mkdir(myPath)
os.makedirs(myPath)
for imgFile in os.listdir(Images_dir):
pass
os.rename(oldName , newName)
parentDir = os.path.dirname()
(入门级)多线程操作
参数用元组封装,如果参数只有一个,那记得带个逗号(元组方面的小细节)
_thread.start_new_thread(myFunction,(arg1,))
在python里调用打包程序
cmd_7z = 'cd temp && 7z a "{}" -mmt16'.format(epubFileName)
os.system(cmd_7z)
这里还指出了如何在一次os.system()函数的调用中执行两条逻辑有关联的命令的一种方法。os还提供了更多和cmd的交互的函数。下面引用一些其他大佬的笔记
1.os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功 注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内容,是没办法获到的 … 2.如果想获取控制台输出的内容,那就用os.popen的方法了,popen返回的是一个file对象,跟open打开文件一样操作了,r是以读的方式打开 注意:os.popen() 方法用于从一个命令打开一个管道。在Unix,Windows中有效
import os
f = os.popen(r"python d:\hello.py", "r")
d = f.read()
print(d)
print(type(d))
f.close()
获取图片的宽和高
from PIL import Image
img = Image.open(coverImgPath)
coverWidth = img.size[0]
coverHeight = img.size[1]
img.close()
|