python学习
文件
打开模式 :执行操作
r : 以只读方式打开文件(默认)
w :以写入的方式打开文件,会覆盖已存在的文件
x : 如果文件已经存在,使用此模式打开将引发异常
a : 以写入模式打开,如果文件存在,则在末尾追加写入
b : 以二进制模式打开文件
t : 以文本模式打开(默认)
+ : 可读写模式(可添加到其他模式中使用)
U : 通用换行符支持
以如下形式使用
open(sode=’r’)
文件对象方法
文件对象方法:执行操作
-
f.close():关闭文件
-
f.read([size=-1]):从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
-
f.readline([size=-1]):从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符
-
f.write(str):将字符串str写入文件f.writelines(seq)向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
-
f.seek(offset, from):在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节f.tell()返回当前在文件中的位置
-
f.truncate([size=file.tell()]):截取文件到size个字节,默认是截取到文件指针当前位置
文件系统
- 模块:一个包含所有你定义的函数和变量的文件,其后缀名是py,模块可以被别的程序引入,以使用该模块中的函数等功能。
未导入模块而产生的错误
正确的操作,作用是从1~10中随机产生一个数
- OS模块:可以帮我们选择正确的操作系统并调用
os模块中关于文件/目录常用的函数使用方法
函数名:使用方法
- getcwd():返回当前工作目录
- chdir(path):改变工作目录
- listdir(path=’.’):列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)
-
mkdir(path):创建单层目录,如该目录已存在抛出异常
-
makedirs(path):递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突
-
remove(path):删除文件
-
rmdir(path):删除单层目录,如该目录非空则抛出异常
-
removedirs(path):递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
-
rename(old,new):将文件old重命名为new
-
system(command):运行系统的shell命令
-
walk(top):遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])【具体实现方案请看:第30讲课后作业_】
以下是支持路径操作中常用到的一些定义,支持所有平台
-
os.curdir:指代当前目录(’.’)
-
os.pardir:指代上一级目录(’…’)
-
os.sep:输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’)
-
os.linesep:当前平台使用的行终止符(Win下为’\r\n’,Linux下为’\n’)
-
os.name:指代当前使用的操作系统(包括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’)
os.path模块中关于路径常用的函数使用方法
函数名:使用方法
- basename(path):去掉目录路径,单独返回文件名
- dirname(path):去掉文件名,单独返回目录路径
-
join(path1[,path2[, …]]):将path1, path2各部分组合成一个路径名
-
split(path):分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
-
splitext(path)分离文件名与扩展名,返回(f_name, f_extension)元组
-
getsize(file)返回指定文件的尺寸,单位是字节
-
getatime(file)返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
-
getctime(file)返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
-
getmtime(file)返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
以下为函数返回 True 或 False
-
exists(path):判断指定路径(目录或文件)是否存在
-
isabs(path):判断指定路径是否为绝对路径
-
isdir(path):判断指定路径是否存在且是一个目录
-
isfile(path):判断指定路径是否存在且是一个文件
-
islink(path):判断指定路径是否存在且是一个符号链接
-
ismount(path):判断指定路径是否存在且是一个挂载点
-
samefile(path1,paht2):判断path1和path2两个路径是否指向同一个文件