一、文件操作
1.open(file,op):打开指定文件file,若文件不存在则创建。其中file为文件名,file的路径默认为程序所在的位置,也可指定file的路径。
op"模式":
(1)“r”或无:若省略参数op,则 只读模式 ,若文件不存在则会报错,写文件操作也会报错;
(2)“w”:打开并可写文件模式。若文件已存在,则以前的内容将被清除。
(3)“a”:向文件中追加文本。a模式不会把原来内容清空,而是光标移到内容最后位置,继续写入新内容。
2.文件操作函数:
(1)write(astring):向文件中写内容,写入的内容不会自动换行,但可使用换行符“\n”。如:a.write("one line"),此时文件test.txt中出现内容“one line”。
(2)close():关闭文件对象。对一个文件的操作结束是调用。如:a.close()。
(3)readline():从文本中读取一行文本,该函数返回一行的文本字符串,包括换行符“\n”。第一次使用返回文件的第一行文本,第二次返回第二行文本,依此类推。
使用循环可遍历文件中的每一行文本。
(4)read():从文件读取指定的字节数,如果未给定或为负则读取所有。(即使用read()之前没有使用readline())。
(5)readlines():读取所有行并返回列表, 遍历返回的列表即可得到每一行的内容。
(6)file.writelines(sequence) :向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
二、os模块常用函数:文件路径相关(使用前要导入os模块:import os)
1、os.path:与路径有关的模块,包含了路径操作相关的函数。由于路径也是一个字符串,因此,操作路径和操作字符串是一样的。
1)os.path.isfile(filepath):检查路径是不是指向一个文件(注:不是指文件夹)。返回TRUE or FALSE。
2)os.path.join(dir1,dir2):将目录名组合成路径。如:os.path.join("d","test") ->d\test.(不同系统下输出不完全一致)
3)os.path.split(filepath):将路径filepath的最后一个组件(即目录名或文件名)提取出来。 #—>修改、组合文件路径:os.path.join(path ,' .jpg ')
该函数返回包含两个项的元组(或两个值):(最后一个组件的)父目录路径和最后一个组件。
如:os.path.split("c:\\python\\test")->("c:\\python","test")。
注:利用此函数可以用递归的方法将一个路径完全分解为目录名:
def split_fully(path):
parent,name = os.path.split(path)
if name == “”: #当一个路径不能再被分解时,第二个值就会返回空字符串
return (parent,) #返回一个元组
else
return split_fully(parent) +(name,)
调用:split_fully("D:\\a\\b\\c") ->("D:\\","a","b","c")
4)os.path.splitext(filename):将一个文件的 名称和扩展名 分开(即分离扩展名,从而判断文件类型)。
如:s = os.path.splitext("test.txt")->s = ("test",".txt"),s[1]->可获得文件扩展名,若s[1]为空字符串,则为文件夹。
2、os.listdir(path):返回一个目录下所有名称条目,包括文件和子目录等内容。若目录路径不存在则报WindowsError错误。
注:1.返回的条目只是一个名称,没有包含路径,可以用os.path.join(path,条目名)得到相应条目的路径。
2.可对返回的条目进行排序(其实就是列表排序):sorted(os.listdir(path)),默认排序规则:数字->大写字母->小写字母
3、shutil模块常用函数:文件重命名、移动、复制、删除(使用前先导入shutil模块:import shutil)
1)shutil.move(src,dest):重命名或移动文件(而不是移动目录(即文件夹))。
注:1)dest所指向的是一个文件,则为重命名;若指向的是一个目录(即文件夹)则为移动文件。
2)src必须指向一个存在的文件,否则不会报错。重命名后的文件可为任意命名,甚至文件可不带后缀。
3)os.rename(src,dest)也具有重命名和移动文件的功能,但不常用。
2)shutil.copy(src,dest):复制文件。可重新命名新文件。
3)删除文件:os.remove(file)。注:此方法不是shutil模块的方法。
4、目录操作:创建和删除目录(此处的目录可理解为Windows下的文件夹)
1).os.mkdir(dir):创建目录,要创建的目录的父目录必须存在。
2).os.makedirs(dir):创建目录,要创建的目录的父目录可不存在。若父目录不存在则创建父目录。<简单粗暴>
3).os.rmdir(dir):删除目录,仅对空目录有效。若目录中文件则不能删除。