目录
1、文件及文件基本操作
①文件简介
文件,是一组相关数据的集合。组成文件的数据可以是ASCII编码,也可以是二进制编码。文件名都包含两个部分:主文件名和扩展名,两者之间用“.”隔开。
②目录与文件路径
文件保存的位置被称为路径
绝对路径——从文件所在驱动器名称(又称“盘符”)开始描述文件的保存位置。
D:\pythonPro\chap11_文件
相对路径——从当前工作目录开始描述文件的保存位置。每个运行的程序都有一个当前工作目录,又称cwd。如表示“当前目录下python目录下的5-1.py文件”,则为:
\\python\\5-1.py
③文件操作
打开文件:
File对象名 = open(文件路径字符串,模式字符)
关闭文件(将文件从内存保存回外存的过程):
File对象名.close()
写文件:
>>> import os
>>> file=open("mydata.txt","w")
用写模式打开不存在的文件时,系统会新建一个新文件。文件与文件对象file关联,后续文件操作通过文件对象实现。
用文件对象的write方法写文件。
格式:文件对象.write(写入字符串)
将指定的字符串写入文件的当前插入点位置
>>> file.write("我要学python")
9 #回显写入的字符数
>>> file.close()
用文件对象的writelines方法写文件。
格式:文件对象.write(字符串序列)
以序列的方式接受多个字符串作为参数,一次性写入多个串
import os
file=open("mydata.txt","w")
ls=["我要学python\t","python使我快乐"]
file.writelines(ls)
file.writelines(["!!!"])
file.close()
看看运行效果吧
再来让我们看看模式‘a’,模式‘a’和模式‘w’的区别:
>>> file = open("mydata.txt",'w')
>>> file.write("笑书神侠倚碧鸳")
>>> file.close()
>>> file = open("mydata.txt",'a')
>>> file.write("笑书神侠倚碧鸳")
>>> file.close()
运行结果是这样的
读文件:
用文件对象的read方法写文件。
格式:字符串变量 = 文件对象.read()
读出文件所有内容并作为一个字符串返回
>>>file = open("mydata.txt","r")
>>>text = file.read()
>>>print(text)
"我要学python python使我快乐!!!"
>>>file.close()
用文件对象的readlines方法写文件。
格式:字符串变量 = 文件对象.readlines()
读出文件所有内容并作为一个列表返回
>>> file = open("mydata.txt","r")
>>> text = file.readlines()
>>> print(text)
['我要学python\tpython使我快乐!!!']
>>> file.close()
用文件对象的readline方法写文件。
格式:字符串变量 = 文件对象.readline()
读出文件中当前行,并以字符串的形式返回
>>> file = open("mydata.txt","r")
>>> text = file.readline()
>>> print(text)
'我要学python\tpython使我快乐!!!'
>>> text = file.readline() #每次读一行
>>> print(text)
''
>>> file.close()
2、CSV文件操作
CSV,是英文Comma-Separated Values的缩写,翻译为“逗号分隔值”CSV文件可以理解为以带逗号分隔(也可以是其他简单字符分割)的纯文本形式存储表格数据的文件。
CSV文件的读写操作:
>>> import csv
#读操作
>>> with open("stu.csv","r")as stucsv:
reader = csv.reader(stucsv)
for row in reader:
print(row)
#一行对应一个列表,列表元素都是字符串
['姓名', '性别', '年龄']
['杨卓霖', '男', '21']
['小明', '女', '2']
#写操作
>>> with open("stu.csv","a",newline='')as stucsv:
writer = csv.writer(stucsv)
writer.writerow(['小红','男','16'])
使用csv模块读取CSV文件时
—— 先创建一个reader对象。
—— 然后通过迭代遍历reader对象读出文件中的每一行
使用csv模块写CSV文件时
——使用writer对象的writerow方法按行写入。——写入文件的一行内容要用列表存储
3、异常
常见异常及其描述:
try:
语句
except 异常名称:
捕捉异常时处理
else:
未发生异常时处理
程序执行时
——如果try子句中发生了指定的异常,则执行except子句部分进行异常的处理;
——如果try子句执行未发生异常则执行else子句。