python基础-10-文件操作
来源:互联网 发布:巨库软件 编辑:程序博客网 时间:2024/06/05 18:38
1.文件的输入输出
#1.打开文件 open 函数open(file,[option])#file 是要打开的文件#option是可选择的参数,常见有 mode 等#2.文件的打开模式r 只读模式,文件不存在时会报错。w 写入模式,文件存在会清空之前的内容,文件不存在则会新建文件。x 写入模式,文件存在会报错,文件不存在则会新建文件。a 追加写入模式,不清空之前的文件,直接将写入的内容添加到后面。b 以二进制模式读写文件,wb,rb,ab。+ 可读写模式,r+,w+,x+,a+,这几种模式还遵循了r,w,x,a的基本原则。f=open("test.txt","r")f=open("test.txt","w") #相对路径f=open("test.txt","x")f=open(r"E:\learn\test.txt","w") #绝对路径,r关键字转义f=open("E:\\learn\\test.txt","w") #绝对路径 ,双斜杠转义#3.文件的读取'''#内容aaabbb人生苦短,我用Python#编码f=open("test.txt","r+") #加上+号,可以读的权限f.read() #Python读文件,读完需要重置光标或者重新打开一次文件'''f.read(size) #读取文件的内容,将文件的内容以字符串形式返回。'''size是可选的数值,指定字符串长度,如果没有指定size或者指定为负数,就会读取并返回整个文件。当文件大小为当前机器内存两倍时就会产生问题,反之就尽可能大的size读取和返回数据,如果到了文件末尾,会返回空字符串。'''>>> f.read(2)'aa'f.readline() #从文件中读取单独一行。'''字符串结尾会自动加上一个换行符\n,只有当文件最后没有以换行符结尾时,这一操作才会被忽略,这样返回值就不会有混淆。如果返回空字符串,表示到达率文件末尾,如果是空行,就会描述为\n,一个只有换行符的字符串。'''>>> f.readline()'aaabbb\n'>>> f.readline()'人生苦短,我用Python'f.readlines() #一次读取所有,返回一个列表,列表的元素为文件行的内容。'''可以通过列表索引的方式将文件的每一行的内容输出。可以通过for循环迭代输出每一行的信息。'''>>> f.readlines()['aaabbb\n', '人生苦短,我用Python']#4.文件的写入f.write() #将要写入的内容以字符串的形式通过write方法写入文件中。'''>>> f=open("test.txt","w+")>>> f.write("test")4>>> f.flush()'''f.writelines() #括号里必须是由字符串元素组成的序列。'''>>> f=open("test.txt","w+")>>> li=["life","is","short",",you","need","python"]>>> f.writelines(li)>>> f.flush()>>> f.read()''>>> f.seek(0)0>>> f.read()'lifeisshort,youneedpython''''#5.保存和关闭f.flush()#在读写模式下,当写完的数据想要读取出来时,要先缓存区的内容保存到文件当中。f.close() #关闭文件。对一个已经关闭的文件进行操作会报错。#6.光标位置f.tell() #返回光标在文件中的位置。>>> f.tell() #查看当前,光标所在位置28f.seek(offset,from) #常用 f.seek(0) 返回起始位置>>> f.seek(0) #汉字占用两个字节,英文一个字节0#在文件中移动文件指针,从from(0代表起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节。# 常用 f.seek(0,0) 返回起始位置。 其他了解一下>>> f.seek(0,0) #回到起始位置0#7.查看文件信息closed #查看文件是否已经关闭,返回布尔值。>>> f.closedFalsemode #返回文件打开模式。>>> f.mode'w+'name #返回文件名。>>> f.name'test.txt'encoding #编码格式>>> f.encoding'cp936'#8.with 形式打开文件,里面的语句执行完后会自动关闭文件with open('文件名') as f: f.read() '''#扩展操作>>> with open("test.txt","w+") as f: f.write("哈哈") #无需flush,自动关闭IO2'''
2.异常语法
#打开shell,按F1查看帮助文档try: suite1 #测试语句块except exception1: suite2 #如果测试语句suite1中发生exception1异常时执行except (exception2,exception3): suite3 #如果测试语句suite1中发生元组中任意异常时执行except exception4 as reason: #as把异常的原因赋值给reason suite4 #如果测试语句suite1发生exception4的异常时执行except: suite5 #如果测试语句suite1发生异常在所列出的异常之外时执行else: suite5 #如果测试语句块suite1中没有发生异常时执行finally: suit6 #不管测试语句suite1中又没有发生异常都会执行'''注意:中间的except,else,finally都是可选的,但至少有一个,不然try就没有意义了,根据实际中的需求来选择。所有错误类型都继承自BaseExceptionhttps://docs.python.org/3/library/exceptions.html#exception-hierarchy''''''#coding:try: b%d##except NameError:#参数未定义##except TypeError:#类型错误except Exception:#异常基类,捕捉所有的异常 print("报错了")else:#代码没有报错会执行 print("没有错误")finally:#不管报不报错,都会执行 print("不管你报不报错,我都要执行")a=1'''#注意:如果抛出父类异常,在子类不会再获取,如下:try: fun()except Exception as e: raise Exceptionexcept ImportError as e: raise ImportErrorfinally: pass'''在上面的例子中,下面的ImportError就不会被抛出,应为ImportError继承Exception,但是可以把Exception放在后面是可以的e可以得到系统给出的报错信息''''''try: a=input("输入数字:") if a.isdigit(): print() else: raise TypeErrorexcept Exception:#异常基类,捕捉所有的异常 print("你输入错误")'''assert #断言'''测试表示式,其返回值为假,就会触发异常'''assert 1==1 #没有返回值assert 1==2 #返回AssertionError'''>>> assert 1>2 #断言,如果返回False就会报错Traceback (most recent call last): File "<pyshell#82>", line 1, in <module> assert 1>2AssertionError'''
阅读全文
0 0
- python基础-10-文件操作
- Python基础-文件操作
- Python基础-文件操作
- Python基础--基本文件操作
- Python基础学习----文件操作
- python基础之文件操作
- python基础之文件操作
- Python基础(五) Python文件操作
- Python基础之文件操作(一)
- Python第二课 文件操作基础
- Python基础--基本文件操作二
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- Python文件基础操作(入门1)
- 面试题14:调整数组顺序使奇数位于偶数前面
- 图片上传的架构
- js去掉html标签只去文字内容
- 03 H5用busybox制作64位文件系统
- Spring Cloud分布式微服务云架构大型企业服务组件
- python基础-10-文件操作
- hive内部表,外部表区别
- iframe cordova把网页打包成ios时,iframe内嵌网页不显示的解决办法
- java cms系统 springmvc mybatis
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- js之作用域
- Linux网络编程--(4)UDP编程
- 阿里云ECS的Windows服务器下Tomcat实现https
- 百度网盘真实下载地址