1. 程式人生 > >python3基礎(九)-系統檔案相關操作

python3基礎(九)-系統檔案相關操作

1、import os

os.rename("test1.txt" , "test2.txt")    #修改檔名稱
os.path.abspath("test2.txt")    #獲取檔案絕對路徑
os.path.getsize("test2.txt")    #獲取檔案大小

2、批量修改檔名

#提前在程式檔案執行目錄下新建一test目錄,並在test目錄下存入幾個檔案。
import os
file_list=os.listdir("test/")    #讀取目錄下的所有檔名,形成字串列表
for f in file_list:
    dest_file="re-"+f
    os.rename("test/"+f, test/"+dest_file)    #記住這裡的檔案是包含檔案的路徑的,這個路徑就是程式執行的路徑,當然也可以使用絕對路徑
    parent_dir=os.path.abspath("test")    #獲取父目錄的絕對路徑
    source_file=os.path.join(parent_dir, f)    #字串拼接,拼接原始檔絕對路徑
    dest_file=os.path.join(parent_dir, dest_file)    #拼接修改後的檔案絕對路徑
    os.rename(source_file, dest_file)

3、從某個目錄下,讀取包含某個字串的某種型別的檔案有哪些?

例如:從/home/python目錄下讀取包含hello的.py檔案有哪些?
import os
file_list=[]
#遞迴函式,該函式中所有的檔案路徑全部採用絕對路徑,parent_dir:檔案所在父目錄的絕對路徑,file_name表示當前你要處理的檔案或目錄
def find_hello(parent_dir, file_name):
    file_abspath=os.path.join(parent_dir, file_name)    #當前正在處理的檔案或者目錄的絕對路徑
    if os.path.isdir(file_abspath):    #如果傳入的檔案是一個目錄
        for f in os.listdir(file_abspath):    #進入目錄,列出該目錄下的所有檔案列表
            find_hello(file_abspath, f)    #呼叫函式本身,傳入父目錄和本身名稱進行判斷和處理
    else:
        if dir.endswith(".py"):    #如果傳入的檔案就是檔案,判斷檔名是否以.py結尾
            if read_and_find_hello(file_abspath):     #讀取該py結尾的檔案,並且看看檔案內容中是否包含有hello
                file_list.append(file_abspath)

def read_and_find_hello(py_file):
    flag=False
    f=open(py_file)    #開啟檔案準備讀取路徑
    while True:
        line=f.readline()     #讀取檔案內容,一行一行的讀取
        if line=='':    #檔案讀到最後一行,終止迴圈
            break
        elif "hello" in line:
            flag=True
            break
    f.close()
    return flag

find_hello("/home", "python")
print(file_list)

4、字串建立的方法

str="%s好好好%s"%(a,b)
str="111111"
str="aaa".append("bbb")
str="aaa"+"bbb"

作者:滄水巫雲
部落格:http://blog.csdn.NET/amir_zt/
以上原創,轉載請註明出處,謝謝。
https://blog.csdn.net/amir_zt/article/details/83655103