如前文,流程是程序的配角,而流程个别都须要解决数据,那数据如何进到流程,而最终解决后的数据又如何体现,这就是流程的输出与输入的问题。
本文介绍流程解决的数据的输出与输入。
流程中的输出,个别都会先保留在变量(即内存)中,而这个输出,能够来自于键盘(也称为规范输出)、文件、socket、串口,等等。同样,流程解决后的数据,也能够从变量(即内存)输入到屏幕(也称为规范输入)、文件、socket、串口,等等。
这里我只介绍从键盘或文件进行输出,以及输入到屏幕或文件。对于 socket 或串口,另找机会再行介绍。
(1)从键盘输入
这是常见的程序交互,能够应用 raw_input 或 input 函数来实现。
raw_input 是一成不变地读取键盘的输出,input 函数则尝试对输出进行运算再返回。
input 函数能够输出数字、算术表达式、函数或返回数据结构的语句等,input 函数解决后再返回内容。
input 函数不能输出解决不了的字符串。
示例如下:
(2)从文件输出
也就是读取文件的内容。
以下是常常遇到的文件操作的示例 – 读取文件的内容,并且打印进去:
在应用 open 函数关上一个文件时,第一个参数是文件名,第二个参数是拜访模式。默认的拜访模式是只读,也就是 ’r’。拜访模式有可能会常常用到,这里给出所有拜访模式的含意的截图,图片源于 http://www.runoob.com/python/…:
(3)输入到屏幕
输入到屏幕,也叫规范输入,应用的函数就是 print。根本所有 python 示例都波及到 print 的应用,这里不再独自示例。
(4)输入到文件
输入到文件,就是写文件。
在 open 文件时,应用带有写的拜访模式,之后再应用 write 函数来写文件,示例如下:
以上,介绍了 python 流程中数据的输出与输入,其中包含了文件内容的操作,包含读跟写。
在理论利用中,除了文件的读写,文件的重命名、删除,还有文件夹的操作(比方遍历、创立、删除等)也是常常遇到的解决环节,所以这里再做一些介绍。
(a)文件的重命名与删除
应用 os 模块,导入这个模块:
import os
文件重命名,应用 os.rename 函数,比方:
文件的删除,应用 os.remove 函数,比方:
(b)文件夹遍历
遍历文件夹以查找所有文件,个别有两个方法,一个是应用 os.listdir 函数,另一个是应用 os.walk 函数,这里别离演示一下。
小程的目录构造是这样的:
应用 os.listdir,写一个递归查找函数,代码与成果如下:
另一个方法,是应用 os.walk 函数,应用这个函数的代码能够很简洁,代码与成果如下:
(c)文件夹创立与删除
文件夹创立,应用 os.mkdir 函数。
文件夹删除,应用 os.rmdir 或 shutil.rmtree 函数。
示例代码与成果如下:
须要留神,os.rmdir 只能用于空目录的删除,如果目录非空会导致执行异样。对于空目录,或非空目录,都能够应用 shutil.rmtree 函数来删除,比方:
shutil.rmtree(‘2’)
另外,删除不存在的目录会导致异样,创立曾经存在的目录也会导致异样,所以,在操作之前能够先判断目录是否存在,比方:
import os, shutil
if os.path.exists('2'):
shutil.rmtree('2')
if not os.path.exists('3'):
os.mkdir('3')
上介绍了文件与文件夹的常见操作,对于没有介绍到的操作(比方 os.getcwd、os.path.abspath 等),你能够在理论应用过程中再进行查阅。
好了,总结一下,本文重点介绍了 python 流程的数据的输出与输入,包含从键盘或文件输出,输入到屏幕或文件,文章也介绍了文件与文件夹的常见操作,包含文件重命名、文件删除、文件遍历、文件夹的创立与删除等(从某个角度来说,文件夹也是文件)。