遍歷某目錄,讀取該目錄下文件內容

要求:遍歷某目錄下的文件夾裏的全部文件,篩選出下載地址爲「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")   換路徑

》》》》》》

相關文章
相關標籤/搜索