为什么学习这章,大家都很清楚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()

python库中写入和读取文件(Python自学文件的打开)(1)

如何以字典的方式写入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库中写入和读取文件(Python自学文件的打开)(2)

写入后如何直接在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)

python库中写入和读取文件(Python自学文件的打开)(3)

如何使用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)

python库中写入和读取文件(Python自学文件的打开)(4)

,