def file_list_get(cmd, path): file_list = list() abs_path = path if SYS_TYPE != "windows" and abs_path != "/": abs_path = "/" + abs_path print("absolute path: ", abs_path) if cmd == "tree": if abs_path == "/" and SYS_TYPE is "windows": dirs = QDir.drives() for d in dirs: file_list.append(d.filePath().strip('/')) else: dirs = QDir(abs_path).entryInfoList(filters=QDir.Dirs | QDir.NoDotAndDotDot) for d in dirs: print("dir name: ", d.fileName()) file_list.append(d.fileName()) elif cmd == "ls": print(abs_path) if abs_path == "/" and SYS_TYPE is "windows": dirs = QDir.drives() for d in dirs: file_list.append({ "name": d.filePath().strip('/'), "type": QDir.Dirs, "size": 0 }) else: dirs = QDir(abs_path).entryInfoList(filters=QDir.AllEntries | QDir.NoDotAndDotDot) for d in dirs: file_type = HW_FILE_TYPE_NONE mdate = "" size = 0 if d.isDir(): file_type = HW_FILE_TYPE_DIR mdate = d.lastModified().toString(DATE_FORMAT) print("dir's modified date", mdate) elif d.isFile(): file_type = HW_FILE_TYPE_FILE size = d.size() mdate = d.lastModified().toString(DATE_FORMAT) print("file's modified date", mdate) elif d.isSymLink(): file_type = HW_FILE_TYPE_SYMLINK file_list.append({ "name": d.fileName(), "type": file_type, "size": size, "Modified": mdate }) print("ls file list: ", file_list) return file_list
def detect_python_path(): if (IS_WINDOWS and PYTHON_EXEC_CONFIGURED_BY_USER) or not IS_WINDOWS: return [] suggested = [] dirs = [] try: drives = [ QDir.toNativeSeparators(d.absolutePath()) for d in QDir.drives() ] for drive in drives: info = QFileInfo(drive) if info.isReadable(): dirs += [ os.path.join(drive, folder) for folder in os.listdir(drive) ] for folder in dirs: file_path = os.path.join(folder, "python.exe") if ("python" in folder.lower()) and os.path.exists(file_path): suggested.append(file_path) except: print("Detection couldnt be executed") finally: return suggested
def go_home(self): list1 = QDir.drives() for l in list1: print(l.absolutePath()) self.le_path.setText(QDir.home().absolutePath()) self.on_pb_load_path_clicked()
def init_drivers(self): self.lw_sidebar.clear() if self.isWindowsOS: drivers = QDir.drives() for d in drivers: self.add_sidebar_item(d.absoluteFilePath()) else: self.le_path.setText("/") self.on_pb_load_path_clicked() # system('x-terminal-emulator --working-directory={} &'.format(self.le_path.text())) pass
def detect_python_path(): if (IS_WINDOWS and PYTHON_PATH_CONFIGURED_BY_USER) or not IS_WINDOWS: return [] suggested = [] try: drives = [QDir.toNativeSeparators(d.absolutePath()) for d in QDir.drives()] dirs = [] for drive in drives: info = QFileInfo(drive) if info.isReadable(): dirs += [os.path.join(drive, folder) for folder in os.listdir(drive)] for folder in dirs: file_path = os.path.join(folder, "python.exe") if ("Python" in folder) and os.path.exists(file_path): suggested.append(file_path) except: print("Detection couldnt be executed") return suggested
def on_btnDir_drives_clicked(self): self.__showBtnInfo(self.sender()) strList = QDir.drives() #QFileInfoList for line in strList: #line 是QFileInfo类型 self.ui.textEdit.appendPlainText(line.path()) self.ui.textEdit.appendPlainText("")
import time from PyQt5.QtCore import QDir, QFile import threading dris = QDir.drives() print("-------", dris) for dri in dris: print(dri.filePath()) print(type(dri.filePath())) print("------------------") dirs = QDir("C:/").entryInfoList(filters=QDir.NoDotAndDotDot | QDir.AllEntries) for d in dirs: print(d.fileName()) def test(): time.sleep(1) t_qf = QFile("D:/visio.iso") while True: time.sleep(1) print("file size: ", t_qf.size()) t_test = threading.Thread(target=test) t_test.start() qf = QFile( "D:/BaiduNetdiskDownload/SW_DVD5_Visio_Pro_2013_64Bit_ChnSimp_MLF_X18-61013.ISO" ) qf.copy("D:/visio.iso")