目录:
一、界面I/O
二、文件I/O
一、界面I/O
我也不知道这么称呼是否贴切,python首先要提到的就是用户交互界面的输入与输出,即键盘输入与页面输出,对应的函数为和。这里重申下概念,其实我们一直有在使用了。
关于input()的小技巧就是,input()也可以作为输出在界面打印出内容,但是!该内容不可作为键盘输入使用!详见第二章基本逻辑部分。
关于print(),其实我们之前已经提到过格式化的问题了,再重申一点:因为 是比较新的函数, 大多数的 Python 代码仍然使用 % 操作符。但是因为这种旧式的格式化最终会从该语言中移除, 应该更多的使用 。
但格式化问题解决的是如何让输出中包含自定义内容,但对杂乱的结果怎么处理?如果强制字符串输出,这里补充两个函数 和
区别显而易见,str()旨在返回一个用户易读的表达形式,repr()旨在返回一个解释器易读的表达形式,所以后者将特殊符号一并返回,无视转义。
二、文件I/O
1、文件创建
open()函数用以创建一个file对象,所有的读写操作也都是基于这个对象的。基本语法格式为,其中mode即为打开文件的模式,拓展如下:
2、文件写入
文件写入方式很单一,即open()方法,但值得一提的是,请务必要调用来关闭文件。
因为当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。
综合文件创建于写入,我们来改写我们第六章提到的异常处理小例子,把它改成日志记录异常吧。
于是我们成功做了一个简单的日志文件,用来记录我们的程序运行状态。
3、文件读取
先看概念,再看例子:
大家结合上面的概念于例子对应理解(顺序相同),还有一个小细节,看输出的内容,b于c之间,c于d之间,是有个空行的,而a、d后面没有,原因是因为在文件写入是我们的确写了,但a还没有读到转义符,d将转义符强行输出,所以都没有产生换行效果。
到这里基础过的差不多了,关于os操作那块,目前觉得基本满足日常了,还是那个思路,具体内置函数或方法,我们尽可能多的提及,但不做展开。
领取专属 10元无门槛券
私享最新 技术干货