乙個可以遞迴的計算乙個路徑下檔案總行數的程式。
**如下:
def count_file_line(filename):
count=0
try:
with open(filename) as file:
for each_line in file:
count=count+1
print("目標檔案"+filename+"的行數:"+str(count))
return(count)
except ioerror as err:
print("ioerror:"+str(err))
return(none)
'''比較!有問題的方法
'''def handle_files(total_line_num=0,path=none):
files=os.listdir(path)
for each_file in files:
file_path=path+'/'+each_file
print("處理檔案:"+file_path)
#為什麼遞迴之後total_line_num又變回遞迴前的值了?
if os.path.isfile(file_path):
print("處理前當前總行數:"+str(total_line_num))
total_line_num+=count_file_line(file_path)
print("處理後當前總行數:"+str(total_line_num))
else:
handle_files(total_line_num,file_path)
return total_line_num
'''可以正常工作的方法
def handle_files(path=none):
global total_line_num
files=os.listdir(path)
for each_file in files:
file_path=path+'/'+each_file
print("處理檔案:"+file_path)
if os.path.isfile(file_path):
print("處理前當前總行數:"+str(total_line_num))
total_line_num+=count_file_line(file_path)
print("處理後當前總行數:"+str(total_line_num))
else:
handle_files(file_path)
return total_line_num
'''import os
path='f:/count'
total_line_num=0
total_line_num=handle_files(path=path)
print(total_line_num)
input('press any to exit')
另外程式中操作的目錄及含有的檔案如下:
其他資料夾都是空的
程式的輸出如下:
從乙個檔案讀取資料
從乙個檔案讀取資料,想必都會。比如舉乙個簡單的例子。下面這個函式,就是從檔案讀取所有資料,一行一行讀取,資料存在des這個陣列中 int getstringfromfile file fp char ch int i 0 int j while feof fp des i 0 return 0 當然...
提供乙個讀取CAP檔案的類
capfilereader類使用說明 功能 讀取ethreal生成的cap格式的檔案內的資訊 介面說明 capfilereader void 預設建構函式 capfilereader void 析構函式 bool open const char capfile 開啟cap檔案,引數為檔案的路徑 bo...
如何根據乙個絕對檔案路徑生成乙個相對檔案路徑
日常的開發中,獲取絕對檔案路徑才是主流吧!連path.getfullpath這種生成絕對路徑的方法都已經成為 net standard 的一部分了。然而,生成相對路徑依然有用 比如你的配置檔案是相對於工作目錄的,必須這個路徑是輸出給使用者看的 那麼,既然path沒有生成相對路徑的方法,還能怎麼生成相...