栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-09-30

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-30

日常练习:文件操作 01:一般文件操作 ①打开文件

用open()函数打开文件,返回文件对象。其中name表示文件名,mode表示打开方式。

 = open(, )

打开方式为:

  • r: 只读,文件指针将会放在文件的开头;
  • w:只写,如果文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除;如果该文件不存在,创建新文件;
  • a: 打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾;如果该文件不存在,创建新文件进行写入;
  • rb: 只读二进制文件,一般用于非文本文件如图片等;
  • wb: 只写二进制文件,一般用于非文本文件如图片等;
  • ab: 以二进制格式打开一个文件用于追加;
  • w+: 打开一个文件用于读写。

注:使用open()一定要保证文件是关闭状态。

②读写文件

先看读文件,其中encoding表示编码方式,一般有:ASCII格式、Unicode码、UTF-8码、GBK编码等。

file = open('poem.txt', 'r', encoding = 'utf-')
# 读取整个文本的字符串
data = file.read()
print(data)
# 读取内容的下一行内容
file = open('poem.txt', 'r', encoding = 'utf-')
data1 = file.readline()
print(data1)
# 读取内容为列表,每个元素为一行字符串
file = open('poem.txt', 'r', encoding = 'utf-')
data2 = file.readlines()
print(data2)

输出:

再看写文件

# 1. 追加方式写入
file = open("poem.txt", 'a+', encoding = 'utf8')
str1 = '字符串1'
str2 = '字符串2'
# write()写一句
file.write(str1)
file.write(str2)
# 关闭文件
file.close()

# 2.新建文件并写入
new_file = open('new.txt', 'w', encoding = 'utf8')
strs = ['字符串1','字符串2']
# writeline()写多句
new_file.writelines(strs)
new_file.close()

file = open('poem.txt', 'r', encoding = 'utf8')
content = file.read()
print(content)

new_file = open('new.txt', 'r', encoding = 'utf8')
new_content = new_file.read()
print(new_content)

输出:

③关闭文件
  • file.close():关闭文件;
    可使用try-except-finally异常捕获语句。
  • file.flush():刷新文件内部缓冲;
try:
    #文件操作
except :
    #异常处理
finally:
    file.close()
④循环遍历文件

分别用read()和readlines()遍历:

file = open("new.txt", 'r', encoding = 'utf8')
# 每一行为一个元素
for line in file.readlines():
    print(line)
file.close()

file = open('new.txt', 'r', encoding = 'utf8')
content = file.read()
# 每个字符为一个元素
for line in content:
    print(line)
file.close()

输出:

02:csv文件操作
# 导入csv模块
import csv
# 创建csv文件对象, newline避免出行新行
data = open('data.csv', 'w', encoding = 'utf8', newline = '')
# 写入文件
writer = csv.writer(data)
# 以列表类型写入一行
writer.writerow(['姓名', '年龄', '学号'])
writer.writerow(['小红', '15', '1'])
writer.writerow(['小兰', '16', '2'])
data.close()

# 读取文件内容
data = open('data.csv', 'r', encoding = 'utf8')
reader = csv.reader(data)

for line in reader:
    print(line[0], line[1], line[2])

data.close()

输出:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号