1. 程式人生 > >習題之---文件操作

習題之---文件操作

.py 多級 dell text bre port aaa php文件 root

1 把一個文件中包含數字的所有行,篩選存到一個新文件裏

算法:

1 打開兩個句柄 一個讀的 一個寫的

2 遍歷讀取每一行

3 然後遍歷每一行的每個字符

4 判斷這個字符是否在0-9的數字裏

5 在的話把這一行寫到新的文件裏

6 關閉文件

fp1 =open(r"C:\Users\dell\Desktop\練習\3\a.txt","r")
fp2 =open(r"C:\Users\dell\Desktop\練習\3\aaaa.txt","w") for line in fp1:
for i in line:
if i in "0123456789":
fp2.write(line)
break#在的話就跳出,避免重復寫入(一行裏有多個數字的情況) fp1.close()
fp2.close()

2 把一個文件的所有行倒序輸出,倒序輸出後存到一個新的文件中

fp1 =open(r"C:\Users\dell\Desktop\練習\3\a.txt","r")
fp2 =open(r"C:\Users\dell\Desktop\練習\3\aaaa.txt","w") for line in fp1.readlines()[::-1]:
if "\n" in line:
fp2.write(line)
else:
fp2.write(line+"\n") fp1.close()
fp2.close()

3 統計一下多級目錄個數
統計一下多級目錄下所有的文件個數
統計一個多級目錄下的python文件個數

算法:
使用os.walk 遍歷獲取所有的目錄和文件,進行文件個數
和目錄個數的累加
使用splitext獲取文件的後綴名
如果==.py就做一次累加。

import os
import os.path


dir_num = 0
file_num =0
php_file_num =0
for root,dirs,files in os.walk("e:\\xjk"):
for dir in dirs:
dir_num +=1
for file in files:

file_num +=1
if os.path.splitext(file)[1]==".php":
php_file_num +=1


print(‘‘‘
總目錄數:%s
總文件數:%s
php文件數:%s
‘‘‘ %(dir_num,file_num,php_file_num)
)

習題之---文件操作