第十一章 操作檔案

2021-09-24 07:06:33 字數 2129 閱讀 1966

2.2 處理檔案

本章主要介紹的內容如下:

os是python提供的用來和檔案與目錄互動的模組。(operating system作業系統)的縮寫。

匯入模組:

import os
其部分的os函式如下:

語法描述

import os

匯入模組os

help(os)

os的函式及其功能

os.listdir()

列出目錄的內容,返回乙個列表,其中每個元素都是包含檔名的字串

os.chdir(string)

切換目錄,其中的string可以是相對路徑名,也可以是絕對路徑名。

os.getcwd()

獲取當前工作目錄。返回乙個字串,其中包含當前目錄的完成路徑名

開啟檔案

處理檔案 (讀取、寫入或者讀寫資訊)

關閉檔案

開啟檔案

盡量少在同乙個會話中多次開啟同乙個檔案,因為很耗時間

開啟檔案的語法如下:

open(file,mode='r') 返回乙個檔案物件
關於mode引數常用的有:

關閉檔案

in_file .close()
在處理完檔案後一定要關閉檔案,只有關閉檔案才能確保輸入的資訊被儲存。

不理解的with用法

with open ('a.text','a') as f:

f.writelines('ccc')

f.writelines('bb')

f.writelines('a')

寫入檔案:

file_obj.write(string) ps:需要注意它不會自動新增換行操作

讀取檔案:

for a_line in in_file:    

print(a_line)

ps:處理異常

異常處理:

在檔案操作時,我們可以經常會遇到檔案不存在,目錄不存在等而導致的各種情況導致程式異常終止。但很多時候我們希望,即使程式出現異常,依然能夠完成其它的操作

這個時候我們就需要用到異常處理

try:  語句

except: 語句 我們來看一下例子

try: 

f = open('not_exist.txt')

print('檔案開啟成功')

except:

print('檔案開啟失敗')

#對於上面的程式,執行時,並不會報錯,而是列印出了 檔案開啟失敗

#這樣即使檔案開啟失敗,我們依然可以執行下面的語句,不會退出

#因為程式的異常有很多種類,所以我們也可以捕捉特定的異常

try:  m = 6 / 0

except zerodivisionerror as e:

# 這裡只捕捉被 0 除的異常,其它的異常並不能捕捉到 print(e.args)

# 列印異常的詳細資訊

#這裡其實是還可以寫多個except 但是注意上面的寫的異常不能包含了下面的異常,否則,也是捕捉不到的

try: m = 6 / 0

except exception as e:

# 這裡面雖然是zerodivisionerror的異常,但是exception是所有異常的基類,所以捕獲不到下面的異常 print('exception')

except zerodivisionerror as ze: print('zerodivisionerror')

# try--except--finally

try: m = 0 / 0

except exception as e: print(e.args)

finally: print('無論如何都要執行我') # finally的語句都要執行,一般用的不多,但是我們可以用它來關閉檔案 這樣就不會因為程式異常退出而沒有關閉檔案

在編輯時引用了子永兄的部落格,應該允許吧~僅自己學習用

第十一章 檔案和流

mode模式 buffering 緩衝 函式返回乙個檔案物件 所有檔案物件都是可迭代的 access mode 檔案使用模式,在open函式中預設為唯讀。其他模式還有 w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。r 以讀寫模式開啟 該檔案必須存在。w ...

modern c design 第十一章

本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...

第十一章3

第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...