為什麼學習這章,大家都很清楚Python最擅長的2個大塊 1;爬蟲技術 2;數據分析。不論是哪塊都要涉及到文件的存儲。
打開文件的方法(這裡隻寫常用的):
打開模式 |
執行操作 |
'r' |
以隻讀的方式打開文件 |
'w' |
以寫入的方式打開文件,會覆蓋已存在的文件,如果打開的文件不存在則新建一個 |
'a' |
以寫入的模式打開,如果文件存在,則在原内容後面添加新内容 |
'r ' |
即可以寫入, 也可以讀取。 |
打開文件的函數是:open
我們在之前學過函數了,那麼來看下open,這個函數的定義,
通過help(open):
open(file, mode='r',
buffering=-1, encoding=None, errors=None, newline=None, closefd=True,
opener=None)
這個函數有8個形參,1個關鍵字函數,7個默認函數。
第一個:file :需要輸入文件的地址(這個地址就是文件在電腦的位置,最快的辦法是把文件直接拖入終端,或者右鍵點擊文件查看路徑)。
第二個:mode = 'r' ,如果不輸入則默認以“隻讀”模式打開文件,如果以寫入的方式則修改默認參數;mode='w'.
其他的默認函數大家可以自行去查哈。
open函數的一些方法:
0:判斷這個文件能否讀取,能否寫入: a.readable, a.writable
a=open("/Users/xuxizhi/Desktop/xinjian.docx",'r ')
# 判斷文件能否讀取
print(a.readable())
# 判斷文件能否寫入
print(a.writable())
1;read 讀取文件的内容, 2;read(10)讀取文件前8個字符 3;close()關閉文件
# 打開一個已知的桌面文件
a=open('/Users/xuxizhi/Desktop/python測試文檔.txt')
# 讀取文件裡的内容
print(a.read())
# 讀取文件裡前8個字符
print(a.read(8))
# 關閉文件
a.close()
2: 文本内容轉化為列表
# 打開一個已知的桌面文件
a=open('/Users/xuxizhi/Desktop/python測試文檔.txt')
#将文件内容轉化為列表
print(list(a))
# 轉化為列表之後 可以通過遍曆,可以一行,一行打印來看
for i in a:
print(i)
3;文件的寫入
# 對文件進行寫入,如果文件不存在就會自動生成一個
# 寫入文件 要記得 1;用'w' 2:用write 3;記得關閉close
a=open('/Users/xuxizhi/Desktop/python測試文檔1.txt','w')
a.write('現在我們進行新建文本的創建:學習Python到現在,興趣不減這個點我還是很興奮的,之後的路準備走爬蟲或數據分析。')
a.close()
如何以字典的方式寫入CSV文件,csv文件類似于ex表,但比ex表小的多。
# csv文件的寫入
# csv文件比execl文件小的多,需要用到模塊
import csv
# 要寫入的内容以字典形式表示
d1=dict(zip(['姓名','年齡','性别'],['張三',27,'男']))
d2=dict(zip(['姓名','年齡','性别'],['李四',22,'男']))
d3=dict(zip(['姓名','年齡','性别'],['劉梅',22,'女']))
d4=dict(zip(['姓名','年齡','性别'],['唐三藏',33,'男']))
d5=dict(zip(['姓名','年齡','性别'],['孫悟空',30,'男']))
d6=dict(zip(['姓名','年齡','性别'],['白骨精',26,'女']))
# 設置文件的表頭
biaotou=[i for i in d1]
# 設置好文件地址:
dizhi='/Users/xuxizhi/Desktop/python測試文檔.csv'
# 以自動關閉的方式打開,目的寫入
with open(dizhi,'w',encoding='utf-8')as a:
# 字典類的實例化
b = csv.DictWriter(a,fieldnames=biaotou)
# 寫入表頭
b.writeheader()
# 寫入内容
b.writerows([d1,d2,d3,d4,d5,d6])
寫入後如何直接在Python裡讀取呢?
# 如何讀取csv裡的文件?
import csv
dizhi='/Users/xuxizhi/Desktop/python測試文檔.csv'
with open(dizhi,'r',encoding='utf-8')as f:
# 以字典的方式展示列表裡的内容
b=csv.DictReader(f)
# 通過遍曆展現出來
for i in b:
print(i)
如何使用os函數讀取電腦文件夾裡的所有文件名?
# 如何讀取csv裡的文件?
import os
# 文件夾地址
wenjianjia_dizhi='/Users/xuxizhi/Desktop/ceshi/'
# 通過os函數找到文件夾裡所有的文件名
wenjian_mc=os.listdir(wenjianjia_dizhi)
# 通過文件夾 文件名得出所有文件的地址
for i in wenjian_mc:
wenjian_dizhi=wenjianjia_dizhi i
print(wenjian_dizhi)
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!