python 文件与异常
####文件###
r:
-只能读 不能写
-读取文件不存在,是会报错
r+:
- 可以执行读写操作;
- 文件不存在, 报错;
w:
-只能写,不能读
-会清空文件内容
-文件不存在,会新建文件
w+:
- rw
- 文件不存在, 不报错
- 会清空文件内容
a:
-只能写 -不会清空问文件内容
-文件不存在,会新建文件
a+
- 文件不存在, 不报错
- 不会清空文件内容
####文件指针####
文件指针标记从哪个位置开始读取数据 第一次打开文件时,通常文件指针会指向文件的开始位置 当执行了read方法后,文件指针会移动到读取内容的末尾
####文件的复制####
源文件以只读的方式打开 file_read = open('passwd')
目标文件以只写的方式打开 file_write = open('passwd_copy','w')
从源文件中读取内容 text = file_read.read()
将读取到的内容写到目标文件 file_write.write(text)
###关闭文件####
file_read.close()
file_write.close()
###文件练习####
import os
1.判断是否为绝对路径
print os.path.isabs('/tmp/hello')
print os.path.isabs('hello.txt')
2.生成绝对路径
print os.path.abspath('/tmp/hello')
print os.path.abspath('hello.txt')
3.返回一个我们希望的绝对路径
print os.path.join('/home/kiosk','hello.png')
返回一个绝对路径:
当前目录的绝对路径 + 文件名 print os.path.join(os.path.abspath('.'),'hello.png')
4.获取目录名或文件名
filename = '/home/kiosk/PycharmProjects/python/20180826python/day08/filename.txt'
print os.path.basename(filename) print os.path.dirname(filename)
5.创建目录/删除目录
os.makedirs('img/films')
os.mkdir('img') #os.rmdir('img')
6.创建文件/删除文件
os.mknod('westos.txt')
os.remove('westos.txt')
7.文件重命名(mv)
os.rename('westos.txt','linux.txt')
8.判断文件或者目录是否存在
print os.path.exists('img')
print os.path.exists('linux.txt')
9.分离后缀名和文件名
print os.path.splitext('hello.png')
print os.path.split('hello.png')
10.将目录名和文件名分离
print os.path.split('/tmp/hello/hello.png')
#####异常#####
异常:
程序在运行的时候,如果python解释器遇到一个错误,会停止程序,并提示一些错误信息 这就是异常
捕获异常
简单的捕获异常语法一个 在程序开发中,如果对某些代码的执行不能确定 (程序的语法完全正确)是否正确 (例如:提示用户输入一个整数,程序的能否正确执行,完全取决于用户的输入) 可以增加try来捕获异常 错误类型的捕获 在程序执行时,可能会遇到不同类型的异常, 并且需要针对不同类型的异常, 做不同的响应,这个时候,就需要捕获错误类型了
捕获未知错误:
在开发时,要预判到所有可能出现的错误,还是有一定的难度的 如果希望程序无论出现任何错误,都不会因为python解释器抛出异常而终止,可以再增加一个except 语法如下:
except Exception as result(一个变量名 可以随便写):
print ('未知错误 %s' % result)
抛出异常
python中提供了一个Exception异常类 在开发时,如果满足特定的业务需求时,希望抛出异常,可以:
1.创建一个Exception的对象
2.使用raise关键字抛出异常对象 断言:可以理解为提前预言,让人更好的知道错误的原因
python 文件与异常的更多相关文章
- Python入门学习系列——Python文件和异常
从文件中读取数据 首先准备一个文本文件,文件中存储着普通文本数据.读取文件需要调用open()和read()函数. 读取整个文件 代码示例: with open('pi_digits.txt') as ...
- Python文件和异常
程序和运行时数据是在内存中驻留的,涉及到数据交换的地方,通常是磁盘.网络等,因此需要IO接口. IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单 ...
- Python 文件和异常
一.从文件中读取数据 #!/usr/bin/env python with open('pi') as file_object: contents = file_object.read() print ...
- Python的文件及异常
1. Python的文件及异常 1.1 文件操作 1.1.1 从文件中读取数据 许多情况下,我们的信息是存储在文本中的.例如对用户行为的分析,用户访问系统或者网站的访问信息会被存储于文本中,然后对文本 ...
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- [Python 从入门到放弃] 6. 文件与异常(二)
本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...
- Python文件操作,异常语法
1.文件 2.异常 1.文件的输入输出 #1.打开文件 open 函数open(file,[option])#file 是要打开的文件#option是可选择的参数,常见有 mode 等#2.文件的打 ...
- Python获得文件时间戳 异常访问监控 邮件定时提醒
Python获得文件时间戳 异常访问监控 邮件定时提醒
- Python之文件和异常IO
文件和异常 读写文本文件 读取文本文件时,需要在使用open函数时指定好带路径的文件名(可以使用相对路径或绝对路径)并将文件模式设置为'r'(如果不指定,默认值也是'r'),然后通过encoding参 ...
随机推荐
- 每天一道算法题(24)——自定义幂函数pow
double myPower(double base, int exponent){ if(exponent==0) return 1; if(exponent==1) return base; if ...
- 每天一道算法题(14)——N个降序数组,找到最大的K个数
题目: 假定有20个有序数组,每个数组有500个数字,降序排列,数字类型32位uint数值,现在需要取出这10000个数字中最大的500个. 思路 (1).建立大顶堆,维度为数组的个数,这里为20( ...
- 第6章 jQuery与Ajax的应用
6.1 Ajax的优势和不足 6.1.1 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的 ...
- 多线程学习-基础(十二)生产者消费者模型:wait(),sleep(),notify()实现
一.多线程模型一:生产者消费者模型 (1)模型图:(从网上找的图,清晰明了) (2)生产者消费者模型原理说明: 这个模型核心是围绕着一个“仓库”的概念,生产者消费者都是围绕着:“仓库”来进行操作, ...
- 多线程学习-基础(七)sleep()和wait()的区别
一.sleep()和wait()的区别共同点:1.他们都是在多线程的环境下,都可以在程序的调用出阻塞指定的毫秒,然后继续往后执行(在当前线程再次拿到cpu的执行权之后).2.wait()和sleep( ...
- python常见的加密解密
#!/usr/bin/env python ''' Python Crypto Wrapper - By Chase Schultz Currently Supports: AES-256, RSA ...
- [译]在Javascript中将string转化成numbers
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- C++轮子队-第六周--事后分析
C++轮子队 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 实现2048+俄罗斯方块结合的小游戏,定义的比较清楚,典型用户也很清晰,提供给那些对该类游 ...
- Java50道经典习题-程序36 移动位置
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 分析:比如有4个数n=4; 1 2 3 4 各个数向后移动2位m=2,变为 1 2 3 4 将最后m个数,即将最后2个数 ...
- android studio中使用recyclerview小白篇(一)
本人就是小白,昨天在使用listview时,看到说有更好的控件出来了,在V7包中,需要SDK21及以上,那就试着用用吧,今天试了一天,终于弄的能简单使用了,分享一下. 怎么导入这个recycleyvi ...