本章重點:
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() #
可以讀內容
(data)
f.write(
"可以寫內容
")
f.close()
4、寫讀模式,w+
f = open (file = "讀檔案", mode = "
w+", encoding = "
utf-8")
data = f.read() #
可以讀內容
(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 ...