import os import psutil import string import ttkthemes import tkinter as tk import tkinter.ttk as ttk import tkinter.messagebox as messagebox class Program: def GetRoot(): return os.geteuid() == 0 def MountDisk(): Disk.MountDisk(diskChoose.get(), "/data/uengine/安卓应用文件/media/" + name.get()) class Disk: def MountDisk(disk, path): if not os.path.exists(path): os.makedirs(path) os.system("mount \"{}\" \"{}\"".format(disk, path)) class File: def DiskList(): diskList = [] partitions = psutil.disk_partitions() for p in partitions: if not "loop" in p.device and not "boot" in p.device and not p.device in diskList: #print(p.device) diskList.append(p.device) #print(p.mountpoint) return diskList if __name__ == "__main__": window = tk.Tk() print(File.DiskList()) if not Program.GetRoot(): window.withdraw() messagebox.showerror(title="错误", message="此程序必须在 root 下运行!") quit() if not os.path.exists("/data/uengine/安卓应用文件/media"): os.makedirs("/data/uengine/安卓应用文件/media") #window.withdraw() #messagebox.showerror(title="错误", message="目录不存在,无法继续操作!") #quit() window.title("挂载磁盘") diskList = File.DiskList() diskChoose = tk.StringVar() diskChoose.set(diskList[0]) weight = ttk.Frame(window) ttk.Label(weight, text="挂载磁盘:").grid(row=0, column=0) ttk.OptionMenu(weight, diskChoose, diskList[0], *diskList).grid(row=0, column=1) ttk.Label(weight, text="挂载名称:").grid(row=1, column=0) name = ttk.Entry(weight) ttk.Button(weight, text="挂载", command=Program.MountDisk).grid(row=2, column=1) name.grid(row=1, column=1) weight.pack() window.mainloop()