1.文件路径
绝对路径和相对路径
绝对路径:绝对路径,从盘符开始的路径(d:\data\file\abc.txt)
from pathlib import Path path=Path('test.txt') print(path.absolute())
相对路径:相对于当前的路径,当前是一个变量,在执行python时,所处的目录(./abc/a.txt ../ab/c.txt test.txt)
没有写文件夹的:当前文件夹下的文件
./当前文件夹下的文件
../父文件夹下的文件
如何判断路径存在?
import os from pathlib import Path path=Path('test.txt') print(path.absolute()) if(path.exists()): print("路径存在") if path.is_dir(): #是不是目录 path.rmdir() #删除目录 print("目录删除成功") else: os.remove(path) print("文件删除成功") else: print("路径不存在") #path.mkdir()#创建目录 path.touch()#创建文件 path=Path('./yaml_demo.py') print(path.absolute()) path=Path('../yaml_demo.py') print(path.absolute())
path功能
path不仅可以实现相对路径转绝对,而且可以:
根据路径创建文件
根据路径创建目录
判断路径是否存在
判断路径是目录还是文件
删除路径(目录)
删除文件(os模块)
2.文件内容
2.1 打开文件
首先要有路径,才能操作文件
其次要打开文件,才能操作文件
内置函数open打开文件
open(file,mode='r',buffering=None, encoding=None, errors=None, newline=None, closefd=True)
- 位置参数:file文件路径
- 关键字参数:model
wt:文本写入(会创建新文件,清空文件内容)
rt:文本读取 (默认值)
wb:二进制写入(会创建新文件,清空文件内容)
b:二进制读取
-
encoding:
gbk:windows中文版的默认编码
utf-8:推荐的统一编码
文件操作
open("test.txt",mode="wt",encoding="utf-8")#创建空文件 open("test.txt",mode="rt",encoding="utf-8")#读取文本文件 open("img.jpg","wb")#创建空二进制文件 open("img.jpg","rb")#读取二进制文件 open("test.txt") #没有关键字参数,不报错 open("test.txt",mode="w") #wt open("test.txt",mode="t")#rt
2.2 读写文件
注意:
- 正确的打开模式,才能读写
- 读写之后,应该及时关闭文件
2.2.1 写入文件
write:写入内容
writelines:写入多行
a="你好,我是张三" b="你好,我是王舞" c=[a,b] f=open("test.txt",mode="wt",encoding="utf-8") f.write("你好呀\n今天天气很好呀") #写入内容 f.writelines(c) #写入多行 f.close()
2.2.2 读取文件
read:读取内容
f=open("test.txt",encoding="utf-8") s=f.read() #读取全部内容 print(s) f.close()
readline:读取一行
f=open("test.txt",encoding="utf-8") s=f.readline() #读取一行 print(s) f.close()
readlines:读取所有行
f=open("test.txt",encoding="utf-8") s=f.readlines() #读取所有行 print(s) f.close()
“行”的标准是什么?
- 以换行符进行分割
3.异常处理
3.1 异常常识:
异常+不处理:程序崩溃
异常+处理:程序继续运行
异常的特点:
- 停止执行
- 向上冒泡(传播)
- 显示异常原因和调用栈
3.2 异常处理
在异常传播的任何一个层级,通过捕捉对异常进行处理
def c(): try: open("abc.apx") #出现异常 except Exception as e: #捕捉常见异常 print(1,e) except FileNotFoundError as e: print(2,e) print("i am c") c()
注意:
- 异常捕捉从上到下,只捕捉一次
- 异常也分大小
- 如果捕捉的异常==出现的异常,捕捉成功
- 如果捕捉的异常>出现的异常,捕捉成功
标签:文件,python,路径,处理,test,print,path,txt,open From: https://www.cnblogs.com/lgs-tech/p/17458697.html