欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Python文本操作相关模块

程序员文章站 2024-03-01 11:34:22
详解Python文本操作相关模块 linecache——通过使用缓存在内部尝试优化以达到高效从任何文件中读出任何行。 主要方法: linecach...

详解Python文本操作相关模块

linecache——通过使用缓存在内部尝试优化以达到高效从任何文件中读出任何行。

主要方法:

linecache.getline(filename, lineno[, module_globals]):获取指定行的内容 
linecache.clearcache():清除缓存 
linecache.checkcache([filename]):检查缓存的有效性

dircache——定义了一个函数,使用缓存读取目录列表、使用目录的mtime来实现缓存失效。此外还定义了标注目录的方法。

主要方法:

dircache.reset():重置目录缓存。 
dircache.listdir(path):返回path的目录列表。除非path改变,否则再次调该方法会会重复读目录结构。 
dircache.opendir(path):和listdir功能相同。存在的目的是为了后向兼容。 
dircache.annotate(head,list):假设list是相对于head的路径列表,那么在合适的位置给每个是目录的路径添加“/” 

filecmp——定义了文件和目录比较的函数。

主要方法:

filecmp.cmp(f1, f2[, shallow]):比较两个文件是非相等 
filecmp.cmpfiles(dir1, dir2, common[, shallow]):比较两个目录下的相同文件名的文件是非相等。 

类: class filecmp.dircmp(a, b[, ignore[, hide]]):构建一个新的目录比较对象,比较a和b。

fileinput——实现了辅助类和方法来帮助实现对标准输入或一串文本快速操作。

主要方法:

fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]):创建一个 FileInput实体。 
fileinput.filename():返回当前读取的文件名 
fileinput.lineno():返回累积读取的行数 
fileinput.nextfile():关闭当前行,下个迭代会跳到去读取下一个文件的第一行。 
类: class fileinput.FileInput([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]) 

os.path——包括路径以及文件属性方面的操作。

主要方法:

os.path.abspath(path):返回path的绝对路径 
os.path.dirname(path):返回path的目录名称 
os.path.exists(path):判断路径是否存在 
os.path.getatime(path):返回path上次访问的时间 
os.path.getmtime(path):返回path上次修改时间

shutil——提供了一些文件和文件集方面的高级操作。

主要方法:

shutil.copyfileobj(fsrc, fdst[, length]):将类文件对象fsrc的内容复制到类文件对象fdst 
shutil.copyfile(src, dst):将文件src的内容(不包括元数据)的内容复制到文件dst 
shutil.copymode(src, dst):将src的权限位复制给dst 
shutil.copystat(src, dst):复制权限位、最近访问时间、最近修改时间和flags。 
shutil.copy(src, dst):复制文件src到文件或目录dst。权限位也会被复制。 
shutil.copy2(src, dst):和copy()不同之处是还会复制元数据。类似先copy(),再copystat() 
shutil.rmtree(path[, ignore_errors[, onerror]]):删除整个目录树 
shutil.move(src, dst):递归移动文件或路径 

除了操作一般文件,还能操作归档文件

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]]):创建归档文件。 
tempfile—— 生成临时文件和目录 

主要方法:

tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=”[, prefix='tmp'[, dir=None]]]]]):返回一个能够作为临时存储区域的类文件对象。 
tempfile.mkstemp([suffix=”[, prefix='tmp'[, dir=None[, text=False]]]]):以尽可能最安全的方式创建一个临时文件。 

stat——返回文件的系统状态信息等。

struct——二进制文件的操作。包括二进制数据类型和str之间的转换。

除此之外,还有其他专门针对特定类型文件(类文件)操作的模块。比如: lxml、CSV、 zipfile、 tarfile等。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!