龙空技术网

Python 自学,文件的打开,关闭,读取,写入

埃尘尘尘 714

前言:

而今同学们对“pythonread中文”可能比较注重,你们都想要知道一些“pythonread中文”的相关内容。那么小编也在网摘上收集了一些有关“pythonread中文””的相关资讯,希望咱们能喜欢,兄弟们快快来了解一下吧!

为什么学习这章,大家都很清楚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;记得关闭closea=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 csvdizhi='/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)

标签: #pythonread中文