日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c++查询当前文件夹下文件数目_python3自动化小工具--删除某个文件夹xx后缀文件...

發布時間:2023/12/10 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++查询当前文件夹下文件数目_python3自动化小工具--删除某个文件夹xx后缀文件... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼 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,u'runas',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#后面獲得文件名稱--basename

2.對文件夾進行遞歸處理,即判斷此文件夾下是否還存在文件夾,反復遞歸,最終遍歷整個文件夾

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,u'runas',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 運行截圖:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的c++查询当前文件夹下文件数目_python3自动化小工具--删除某个文件夹xx后缀文件...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。