第四章 三元運算與檔案操作

2022-09-03 22:45:20 字數 3042 閱讀 7879

本章重點:

1、掌握三元運算

2、掌握檔案操作的幾種模式:r,r+,w,w+,rb,wb

3、掌握檔案讀寫、檔案修改佔記憶體和佔硬碟的兩種方式

4、檔案操作的常用功能

一、三元運算

三元運算又稱三目運算,是對簡單的條件語句的簡寫。比如:

if

條件成立:

val = 1

else

: val = 2

可改成三元運算:

val = 1 if 條件成立 else 2

二、檔案操作

1、讀檔案

f = open (file = "

讀檔案", mode = "

r", encoding = "

utf-8")

f.read()

f.close()

1-1、rb模式,二進位制讀

f = open (file = "

讀檔案", mode = "rb"

)f.read()

f.close()

注意,和r模式相比,不需要指定編碼,因為以rb開啟的是位元組模式

2、寫檔案w

f = open (file = "

讀檔案", mode = "

w", encoding = "

utf-8")

f.write()

f.close()

2-1、wb模式、二進位制寫

f = open (file = "

讀檔案", mode = "wb"

)f.write()

f.close()

w和wb模式都會在寫的時候把原有內容清空

3、讀寫模式:寫讀後寫 r+

f = open (file = "

讀檔案", mode = "

r+", encoding = "

utf-8")

data = f.read() #

可以讀內容

print

(data)

f.write(

"可以寫內容

")

f.close()

4、寫讀模式,w+

f = open (file = "

讀檔案", mode = "

w+", encoding = "

utf-8")

data = f.read() #

可以讀內容

print

(data)

f.write(

"\new line")

f.write(

"\new line")

f.write(

"\new line")

f.write(

"\new line")

print("

content

",f.read())

f.close()

輸出

#

空行,是print的結果

content #

從這裡開始,讀到的是剛寫入的內容

new line

new line

new line

new line

w+會先把檔案清空,再寫新內容,很少用

5、追加模式,在原有檔案末尾追加內容

f = open (file = "

讀檔案", mode = "

a", encoding = "

utf-8")

f.write()

f.close()

三、修改檔案

1、檔案修改替換原檔案(佔硬碟)

#

修改檔案

import

osf_name = "

檔案處理

"f_new_name = "

%s.new

" %f_name

old_str = "周蓓"

new_str = "

zhoufang

"f = open(f_name, mode="

r", encoding="

utf-8")

f_new = open(f_new_name, "

w", encoding="

utf-8")

for line in

f:

if old_str in

line:

line =line.replace(old_str, new_str)

f_new.write(line)

f.close()

f_new.close()

os.replace(f_new_name, f_name)

# 會生成乙個新檔案,將新檔案替換成原檔案即可

2、檔案修改佔記憶體的方式

old_str = "周芳"

new_str = "

wuyi

"f = open(file="

檔案處理

", mode="

r+", encoding="

utf-8")

data =f.read()

f.seek(0)

data1 =data.replace(old_str, new_str)

f.write(data1)

f.close()

四、檔案操作的一些常用功能

1、f.seek()    重置游標位置

2、f.tell()     尋找游標所在位置

3、f.truncate()   後面的內容全部截斷

注意:所有括號內的全是位元組形式,比如utf-8中,中文佔3個位元組,f.seek(2),就會亂碼

第四章 陣列操作

1 scala陣列操作 1.1 定義定長陣列 scala val arr1 new array int 5 arr1 array int array 0,0,0,0,0 列印陣列後,輸出位址 scala println arr1 i 199e4c2b 呼叫陣列物件的tobuffer方法 scala ...

第四章操作列表

eg mag alice advid axeas for ms in mag print ms 這行 讓python從列表mag中取出乙個名字,並將其儲存在變數ms中。eg mag alice advid axeas for ms in mag print ms.title that was a g...

第四章 操作列表

for i in name print i.title for value in range 1.5 print i 結果值是1 4 該程式指從指定的第乙個值開始,並在達到指定的第二個值後停止 min number max number sum number number i 2 for i in ...