要求:遍歷某目錄下的文件夾裏的全部文件,篩選出下載地址爲「http://files.generalseven.com/seven.exe」的文件,統計下載次數。python
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import re file_dir = "D:\\Cat\\filesnam" num = 0 for filename in os.listdir(file_dir): each_file = os.path.join(file_dir, filename) with open(each_file, "r") as f: lines = f.readlines() for line in lines: result_download = re.search(r"http://files.fudaojun.com/fudaojunV1.exe", line) if result_download: num += 1 print num
1、首先,須要導入庫。正則表達式
》》》import os(文件夾相關操做須要使用os庫)shell
》》》import re(篩選特定條件用正則表達式re來匹配比較方便)函數
2、相關API:oop
》》》python中對文件、文件夾(文件操做函數)的操做須要涉及到os模塊和shutil模塊。code
獲得當前工做目錄,即當前Python腳本工做的目錄路徑: os.getcwd()blog
返回指定目錄下的全部文件和目錄名:os.listdir()進程
函數用來刪除一個文件:os.remove()utf-8
刪除多個目錄:os.removedirs(r「c:\python」)rem
檢驗給出的路徑是不是一個文件:os.path.isfile()
檢驗給出的路徑是不是一個目錄:os.path.isdir()
判斷是不是絕對路徑:os.path.isabs()
檢驗給出的路徑是否真地存:os.path.exists()
返回一個路徑的目錄名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 結果:('/home/swaroop/byte/code', 'poem.txt')
分離擴展名:os.path.splitext()
獲取路徑名:os.path.dirname()
獲取文件名:os.path.basename()
運行shell命令: os.system()
讀取和設置環境變量:os.getenv() 與os.putenv()
給出當前平臺使用的行終止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
指示你正在使用的平臺:os.name 對於Windows,它是'nt',而對於Linux/Unix用戶,它是'posix'
重命名:os.rename(old, new)
建立多級目錄:os.makedirs(r「c:\python\test」)
建立單個目錄:os.mkdir(「test」)
獲取文件屬性:os.stat(file)
修改文件權限與時間戳:os.chmod(file)
終止當前進程:os.exit()
獲取文件大小:os.path.getsize(filename)
目錄操做:
os.mkdir("file") 建立目錄
複製文件:
shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile") oldfile只能是文件夾,newfile能夠是文件,也能夠是目標目錄
複製文件夾:
shutil.copytree("olddir","newdir") olddir和newdir都只能是目錄,且newdir必須不存在
重命名文件(目錄)
os.rename("oldname","newname") 文件或目錄都是使用這條命令
移動文件(目錄)
shutil.move("oldpos","newpos")
刪除文件
os.remove("file")
刪除目錄
os.rmdir("dir")只能刪除空目錄
shutil.rmtree("dir") 空目錄、有內容的目錄均可以刪
轉換目錄
os.chdir("path") 換路徑
》》》》》》