ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-文件操作

2022-04-19 08:31:05  阅读:147  来源: 互联网

标签:文件 utf encoding python read print 操作 txt open


文件操作

读取文件

1.操作文件的第一种方式(读文件)

f = open('a.txt',encoding='utf-8')
content = f.read()   #<class 'str'>
print(content,type(content))
#释放资源
f.close()
#释放后调用资源
#content1 = f.read()
#print(content1)  # ValueError: I/O operation on closed file.
注意:在关闭资源后,就不能够读取数据

2.读取文件的第二种方式:这种方式自动释放资源

with open('a.txt',encoding = 'utf-8') as f:
    content3 = f.read()
    print(content3)

3.可以自定义读入资源的多少(在read()中填读取的大小即可)

with open('a.txt',encoding = 'utf-8') as f:
    content4 =  f.read(30)
    print(content4)

2.写入文件

1. 写入数据如果不存在,会自动创建

  • 注意:因为Windows支持GBK编码格式,而python支持utf-8格式,所有想要写入中文,就得设置一下编码 encoding = 'utf-8'
with open('aa.txt','a',encoding = 'utf-8') as f:
    f.write('we can english!')
    f.write('我能不能是中文呢?')

追加操作:在open()内部写入 "a" 即append 即可

with open('aa.txt','a',encoding = 'utf-8') as f:
    # \r\n 是换行操作
    f.write('\r\nhahaha')
    f.write('我和哈哈是追加的。')

读取特定的文件的操作

文件为:

name,sex,age,address,email
小花,女,19,安徽合肥,1001@163.com
小虎,男,21,江苏南京,1002@163.com
小倩,女,22,湖北武汉,1003@163.com
小壮,男,23,云南昆明,1004@163.com
小小,女,34,山东临沂,1005@163.com
with open('c.txt','r',encoding = 'utf-8') as f:
    #list1 = f.readline()  # <class 'str'> 当读取一行或者直接read(),格式是字符串
    list2 = f.readlines()  # 此时读取的是列表格式,可以进行操作
    # 以逗号进行分割,然后遍历获取第列数据
    for line in list2:
        list3 = line.split(',')
        print(list3[0],type(list3)) #name <class 'list'>

将固定格式的数据写入到文本文件中

list4 = [['1', 'q', 'w', 'e', 'r', 't','y'],['2','qq','ww','ee','rr','tt','yy'],['3','qqq','www','eee','rrr','ttt','yyy']]
with open('f.txt','w') as f4:
    for i in list4:
        print(i,type(i))
        i = '|'.join(i)
        i = i +'\r\n'
        f4.write(i)
f4.close()

标签:文件,utf,encoding,python,read,print,操作,txt,open
来源: https://www.cnblogs.com/atao-BigData/p/16163677.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有