python基礎之檔案操作,函式

2022-08-05 14:39:15 字數 1845 閱讀 1723

檔案操作

+模式: r+t  w+t  a+t  r+b   w+b  a+b 

可讀可寫,其他功能與人,r,w,a相同

f.seek(offset,whence) 檔案指標移動    offest的單位為bytes   whence是參照物

f.seek(3,0)  whence預設值為0   0:檔案開頭開始  1:當前指標位置  2:參照末尾

強調:其中whence = 1 和 whence = 2 只能在b模式下使用,除非offest =0 是都可以

f.seek(-2,2)當whence = 2 時,offset需要用負數表示

f.tell()每次統計都是從檔案開頭到當前指標所在位置

注:只有在t模式下的read(n),n才代表字元的個數,除此之外其他但凡涉及到檔案指標的都已bytes為單位

f.truncate(9) 固定參照檔案開頭,9代表9bytes

修改檔案:

方法一:先將原檔案內容一次性讀入記憶體,在記憶體修改完成後覆蓋寫回原檔案

缺點:檔案過大的情況下會占用過多的記憶體空間

優點:修改期間檔案內容始終只有乙份

with open('a.txt') as read_f:

data=read_f.read()

data=data.replace('alex','sb')

with open('a.txt') as write_f:

write_f.write(data)

方法二:以讀的方式開啟原檔案,寫的方式開啟新檔案,從原檔案中迴圈讀取每一行內容,         修改後寫入新檔案,然後刪除原檔案,把新檔名命名為原來的檔名

缺點:修改期間檔案內容有兩份

優點:記憶體中同一時間只有一行內容

import os

with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:

for line in read_f:

line=line.replace('alex','sb')

write_f.write(line)

os.remove('a.txt')

os.rename('.a.txt.swap','a.txt')

函式的應用

1.什麼是函式?

在程式中,函式就是具備某一功能的工具,函式的使用必須遵循先定義,後呼叫的原則

2.為何使用函式?

不用函式的問題:

①.程式冗長

②.擴充套件性差

③.可讀性差

3.如何使用:先定義後使用

def 函式名(引數,引數……):

功能描述

引數描述

return:返回值描述

**塊return 返回值

4.定義:

沒有定義而直接引用的函式名,相當於引用乙個不存在的變數名

①函式的定義階段:不執行函式體**,但會檢測函式體的語法

②呼叫階段:執行函式體**

引數:函式體接收外部值的乙個媒介

函式定義的三種形式:

1.無引數函式:在定義階段,括號內沒有引數

注意:定義時無參,意味著呼叫時也無需傳入引數

應用:如果函式體**邏輯不需要外部傳參值時,用無引數函式

2.有引數函式:在函式定義時,括號內有引數

注意:定義時有參,意味著呼叫時也需要傳參

應用:如果函式體**邏輯需要外部傳參值時,需要有引數函式

3.空函式:

def func():

pass

用於結構的構建,先搭好結構,後期再填**

Python基礎之檔案操作

python的檔案操作還是比較簡單的基本分為三步 開啟,讀寫,關閉 檔案開啟 f open db r 開啟 f.read 讀 f.close 關閉 為了避免程式設計師忘記最後一步關閉,優雅的python使用了以下語句 with open db r as f,open db2 r as f2 opra...

python基礎之檔案操作

開啟檔案並輸出檔案內容模板 f open flie mode r encoding utf 8 data f.read 返回整個檔案資料 data f.readlines 以列 式,返回整個檔案資料 print data f.close flie檔案路徑 相對路徑或者絕對路徑 mode檔案開啟模式 ...

Python基礎之檔案操作

1 開啟檔案的方法 第一種 開啟檔案執行完命令後,需要關閉檔案,否則會一直占用記憶體空間 f open data 1.txt r encoding utf 8 後面的r 表示開啟檔案的模式是讀寫,encoding 8 是指定編碼格式,因為用open 函式開啟,open 函式會去找系統的預設編碼,wi...