檔案操作:
## 1.檔案路徑:分為絕對路徑和相對路徑
## 2.編碼方式:utf-8,jbk.....
## 3.操作方式:唯讀,只寫,追加,讀寫,寫讀
1.唯讀(r,rb);加個b的意思是以bytes型別追加進去(在中用)
f = open('2.只寫(w,wb),沒有檔案的話就建立,有就先將原始檔內容刪除再寫c:/users/administrator/desktop/python例子.txt
', mode='
r', encoding='
gbk'
)content =f.read()
(content)
f.close()
#f = open('
c:/users/administrator/desktop/python例子.txt
', mode='rb'
)content =f.read()
(content)
f.close()
f = open('c:/users/administrator/desktop/python例子.txt
', mode='
w',encoding='
utf-8')
content = f.write('內容'
(content)
f.close()
#f = open('
c:/users/administrator/desktop/python例子.txt
', mode='
w',encoding='
utf-8')
content = f.write('
內容還有內容')
f.close()
#f = open('
c:/users/administrator/desktop/python例子.txt
', mode='wb'
)content = f.write('
內容sfs
'.encode('
utf-8'))
f.close()
3.追加(a)
f = open('c:/users/administrator/desktop/python例子.txt
', mode='
a',encoding='
utf-8')
content = f.write('
,新的東西')
f.close()
#f = open('
c:/users/administrator/desktop/python例子.txt
', mode='ab'
,)content = f.write('
,好的天氣
'.encode('
utf-8'))
f.close()
4.讀寫,只能先讀再寫,否則會出現佔位;寫讀中,同理只能先寫再讀(w+;還有a+
f = open('5.查詢時移動游標seek()c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
utf-8')
(f.read())
print(f.write('
,太陽'
))f.close()
#f = open('
c:/users/administrator/desktop/python例子.txt
', mode='
r+b'
(f.read())
print(f.write('
,太陽1
'.encode('
utf-8
')))
f.close()
f = open('c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
gbk')#
content = f.read(2) # 讀出來的都是字元
f.seek(2) #
按照位元組去定游標的位置
content =f.read()
(content)
f.close()
6.告訴你游標的位置tell()
f = open('c:/users/administrator/desktop/python例子.txt
', mode='
a+',encoding='
gbk'
)f.write('你好
')count =f.tell()
f.seek(count - 4) #
唯讀最後兩個
(f.read())
f.close()
7.其他知識點
f = open('8.迴圈讀取c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
gbk'
)print(f.readable()) #
是否可讀readable(),返回值時t或者f
print(f.readline()) #
一行一行的讀
print(f.readlines()) #
每一行當成列表中的乙個元素,新增到列表中
f.truncate() #
擷取f.close()
f = open('c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
gbk'
)for i in
f:
print(i.strip()) #
strip去除換行
f.close()
9.with(開啟時最後可以不用寫close,同時還可以開啟多個並進行多種操作,一般都是用的這種開啟方式)
with open('10.課後作業:簡單的實現使用者註冊登入c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
gbk'
) as f,\
open(
'c:/users/administrator/desktop/python例子.txt
', mode='
w+', encoding='
gbk'
) as i:
with open(
'c:/users/administrator/desktop/python例子.txt
', mode='
r+',encoding='
gbk'
) as f:
print(f.read())
username_registered = input('請輸入要註冊的使用者名稱')
password_registered = input('
請輸入要註冊的密碼')
with open(
'c:/users/administrator/desktop/使用者資訊.txt
', mode='
w',encoding='
utf-8
') as f:
f.write(
'{}\n{}
'.format(username_registered,password_registered))
print('
恭喜註冊成功')
i =0
lis =
while i < 3:
username = input('
請輸入使用者名稱')
password = input('
請輸入密碼')
with open(
'c:/users/administrator/desktop/使用者資訊.txt
', mode='
r+',encoding='
utf-8
') as f1:
for k in
f1:
if username == lis[0].strip() and password == lis[1].strip():
print('
登入成功')
break
else
:
print('
登入失敗,請重新輸入')
i += 1
第七天總結
第一就是serviece 層的東西會被兩個前端同時呼叫。所以要做特定的處理放在controller層 goods.setsellerid 這有個簡單的翻譯問題 可以做乙個陣列。讓數字對應下標,取值就是翻譯 顯示分類。這種是一種很優的方案 然後真正的翻譯讓前段js來做 就是用陣列的下標存id 然年值就...
第七天總結0329
第七天總結 1 抽象類 a.通過乙個 abstract 關鍵字來修飾的類 b.主函式,一般函式,建構函式,抽象函式的區分,抽象類是由抽象方法 函式 引出來的。抽象類是因為抽象方法的由來而由來。抽象類不能被例項化 abstract class absdemo c.抽象類不能被 new物件,也就是抽象類...
erlang第七天總結
1.非同步accept prim inet async accept lsock,1 請求非同步accpet 有連線來之後會有訊息返回你剛剛呼叫上面函式的程序 inet db register socket sock,inet tcp 上面的訊息到了之後要初始化下這個socket 後面就可以正常使用...