20190221 檔案操作

2022-07-20 08:54:12 字數 1731 閱讀 3442

假定乙個全英文的檔案,讀取該檔案,請統計多少個不重複的單詞,並且在另外乙個檔案中寫上結果每個單詞出現的次數,以及一共有多少個不重複的單詞分別為哪些

注意:檔案中可能包含特殊符號

step1:開啟檔案,可使用方法如下:

方法1:fp = open(file,'r',encoding ='utf-8')

方法2:with open(file,'r',encoding ='utf-8') as fp:

step2:讀取檔案,基於該題的需求,我們按行讀取,並對每行進行處理如下:

1.讀取每一行,將每一行中的特殊字元替換為空白

2.將替換後的字元加到乙個content裡面(content最終用來儲存檔案裡面的所有被去掉特殊字元的單詞結果)

step3:統計每個單詞的出現次數:

1.統計結果使用字典儲存格式如下

2.出現次數為1的單詞即為不重複的單詞

step4:將每個單詞的出現次數寫到乙個新的檔案中

1.遍歷step產生的字典,將key:value寫入新的檔案

**如下:

def

count_file_content(file_dir):

result =''

#儲存所有被處理了特殊字元的檔案內容

word_count_result={}#

儲存單詞出現次數

import

string

with open(file_dir,'r

',encoding ='

utf-8

') as fp:

for line in

fp: s =line.strip()

for i in

string.punctuation:

s = s.replace(i,'')

result +=s

#獲取不包含特殊字元的檔案內容

word_list =result.split()

for item in

word_list:

#print(item)

if item in

word_count_result.keys():

word_count_result[item]+=1

else

: word_count_result[item]=1

#獲取每個單詞出現次數

count =0

non_duplicateword=

#統計不重複單詞的個數

for k,w in

word_count_result.items():

if w ==1:

#non_duplicateword儲存的所有僅出現一次的單詞,count 為僅出現一次的單詞總數

with open(file_dir+'

result.txt

','w

',encoding ='

utf-8

') as fp1:

fp1.write('一共

'+str(count)+'

個不重複的單詞\n')

for k,w in

word_count_result.items():

fp1.write(k+"

單詞出現

"+str(w)+"

次\n")#

將結果寫入另乙個檔案中

1 檔案測試 2 檔案操作

1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...

2012 6 6檔案操作

path 目錄和檔案操作的命名控制項system.io string changeextension string path,string extension 修改檔案的字尾,修改 支援字串層面的,沒有真的給檔案改名 將兩個路徑合成乙個路徑,比用 好,可以方便解決不加斜線的問題,自動處理路徑分隔符的...

2013 07 19 檔案操作

init方法 便利構造器 這是oc中初始化物件的兩種方法 nsstring path1 users 1010 desktop abc.txt 用乙個檔案來初始化乙個字串,也就是讀檔案中的內容 nserror error nil nsstring content1 nsstring alloc ini...