网站关键词挖掘工具,阿里云使用wordpress-move,哪个网站做简历免费下载,徐州百度seo排名优化源码 DelSomeFile.py
此代码用于删除文件夹下面以txt结尾的文件
#xff08;同理将.txt--.py可以删除py文件#xff09;
借用pyqt5调用文件选择对话框看起来比较人性化点
本来是用win32ui的#xff0c;但是win32ui不太人性化#xff0c;不能选择文件…源码 DelSomeFile.py
此代码用于删除文件夹下面以txt结尾的文件
同理将.txt--.py可以删除py文件
借用pyqt5调用文件选择对话框看起来比较人性化点
本来是用win32ui的但是win32ui不太人性化不能选择文件夹
需要经过一点处理虽也能实现但是比较麻烦而tk我也不熟悉
一下子去用也崩溃了后来想起我玩过qt索性就试试dlg win32ui.CreateFileDialog(1) #打开文件对话框dlg.SetOFNInitialDir(E:) #初始dlg.DoModal()filename dlg.GetPathName()print(os.path.dirname(filename),os.path.basename(filename))try:print(os.path.dirname(filename),文件夹大小为: ,scanFolder(os.path.dirname(filename)),字节)except Exception as e:print(未选择路径)
from __future__ import print_function
import ctypes
import os,sys
from PyQt5.QtWidgets import QApplication,QFileDialogdef is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return Falsedef scanFile(path):print(path,文件夹:n)for filename in os.listdir(path):# print(os.access(filename, os.X_OK))if filename.endswith(.txt):print(找到txt文件,filename,是否删除?(Y or N))active input()if active.lower() y:print(active.lower(),active)os.unlink(os.path.join(path,filename))print(filename,已删除)else:print(未删除)#判断当前目录的子文件是否是目录如果是利用递归到这个文件下if os.path.isdir(os.path.join(path,filename)):scanFile(os.path.join(path,filename))if __name__ __main__:if is_admin():# 调用qt5的文件夹窗口app QApplication(sys.argv)filewindow QFileDialog()filename filewindow.getExistingDirectory()path filenametry:scanFile(path)print(选择文件夹查询结束)input(按下任意键结束程序)except Exception as e:print(e, 未选择路径)else:if sys.version_info[0] 3:ctypes.windll.shell32.ShellExecuteW(None, runas, sys.executable, __file__, None, 1)# else:#else是在python2.x中使用的# ctypes.windll.shell32.ShellExectueW(None,urunas,unicode(sys.executable,unicode(__file__),None,1))1.1 运行后弹出文件管理对话框人性化选择文件夹路径(可以用qt、tk)import os,sys
from PyQt5.QtWidgets import QApplication,QFileDialog
# 调用qt5的文件夹窗口
app QApplication(sys.argv)
filewindow QFileDialog()
filename filewindow.getExistingDirectory()
path filename #此处得到你选择的文件夹路径
#print(path)1.2 本来是用win32ui的但是win32ui似乎不支持选择文件夹只是支持选择文件得到文件路径但是通过文件路径处理也能得到文件夹路径即使能得到文件夹路径感觉也比较没意思import win32ui,os
dlg win32ui.CreateFileDialog(1) #打开文件对话框dlg.SetOFNInitialDir(E:) #初始dlg.DoModal()filename dlg.GetPathName()#此处得到文件路径print(os.path.dirname(filename),os.path.basename(filename))#通过os对文件路径进行处理前面得到文件夹路径--dirname#后面获得文件名称--basename2.对文件夹进行递归处理即判断此文件夹下是否还存在文件夹反复递归最终遍历整个文件夹import os,sys
def scanFile(path):print(path,文件夹:n)#打印当前处于哪个文件夹下面--绝对路径for filename in os.listdir(path):if filename.endswith(.txt):#判断文件名后缀是否为txt,同理可以判断后缀是否是pyprint(找到txt文件,filename,是否删除?(Y or N))#交互选择--如果想全部删除可以不要交互active input()if active.lower() y:print(active.lower(),active)os.unlink(os.path.join(path,filename))#将文件名加上路径然后删除,如果只是想打印不删除将这句话删掉就可以print(filename,已删除)else:print(未删除)#如果没有输入Y就不会删除文件#判断当前目录的子文件是否是目录如果是利用递归到这个文件下if os.path.isdir(os.path.join(path,filename)):scanFile(os.path.join(path,filename))#自己调用自己
3 由于部分文件夹或者说路径需要权限于是加入调用权限功能---参考别人的代码不能在ide中运行要在cmd中python DelSomeFile.py这样运行整个py文件from __future__ import print_function
import ctypes
import os,sys
from PyQt5.QtWidgets import QApplication,QFileDialog
#我的逻辑还是弄不太清楚此代码如果在ide中运行则会直接结束不能处理
def is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return False
if is_admin():# 调用qt5的文件夹窗口app QApplication(sys.argv)filewindow QFileDialog()filename filewindow.getExistingDirectory()path filenametry:scanFile(path)print(选择文件夹查询结束)input(按下任意键结束程序)except Exception as e:print(e, 未选择路径)
else:if sys.version_info[0] 3:ctypes.windll.shell32.ShellExecuteW(None, runas, sys.executable, __file__, None, 1)# else:# ctypes.windll.shell32.ShellExectueW(None,urunas,unicode(sys.executable,unicode(__file__),None,1))4 到这里了整个小工具以我的理解能力介绍完了我是觉得自己写这个还行整个工具还是有点粗糙但是应该有用即使没有实际作用也算是增强自己对代码的熟练把5 最后可以通过pyinstaller -F DelSomeFile.py 将脚本打包成一个真正的exe小工具了 如果喜欢可以像我一样给它加个图标那就这样pyinstaller -i xx.ico-F DelSomeFile.py,这个是用相对路径相对路径成功使用是建立在xx.ico和DelSomeFile在同一个文件夹下如果不在就用绝对路径6 运行截图