文件和输入输出

文件对象

  • 普通的磁盘文件
  • 类文件:ex.打开一个网页URL

文件内建函数

  • open(file_name,access_mode='r',buffering=-1)
buffering 用于指示访问文件采用的缓冲方式,0表示不缓冲,1表示缓冲
一行数据,大于1表示使用给定值作为缓冲区大小,不提供或为负值代表使
用系统默认缓冲机制
  • file() 与open()功能一致,可以替换,但建议使用open()

通用换行符支持UNS
行分隔符:(\r) | (\n) |(\r\n)
路径分隔符:/---\---:---


文件内建方法

  • read() 读取给定参数字节的数目,默认直至末尾
  • readline() 读取一行,包括行结束符
  • readlines() 读取所有(剩余)行然后把它们作为字符串列表返回

  • write()
  • writelines() 接受一个字符串列表作为参数,行操作符不会自动加入,需要手动加入行结束符

  • seek() 默认位置为0,代表开头,1,代表当前位置,2,代表文件末尾

  • close()
  • flush() 把内部缓冲区的内容立刻写入文件,暂时不会用(在open函数中有个参数buffering ,可以写到缓冲区)
  • fileno()
  • truncate() 将文件截取到当前文件指针位置或者给定size,以字节为单位
  • tell() 返回文件位置指针的坐标

文件内建属性

  • file.closed
  • file.encoding
  • file.mode
  • file.name
  • file.newlines 未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含素有当前所遇到的行结束符的列表

标准文件???暂时不理解干什么用的

-pass-

命令行参数

  • sys.argv 命令行参数列表

文件系统

表 9.5 os 模块的文件/目录访问函数
--------------------------------------------
文件处理
mkfifo()/mknod()创建命名管道/创建文件系统节点
remove()/unlink() Delete file 删除文件
rename()/renames()重命名文件
*stat() 返回文件信息
symlink() 创建符号链接
utime()  更新时间戳
tmpfile() 创建并打开('w+b')一个新的临时文件
walk()生成一个目录树下的所有文件名
------------------------------------
目录/文件夹
chdir()/fchdir()改变当前工作目录/通过一个文件描述符改变当前工作目录
chroot()改变当前进程的根目录
listdir()  列出指定目录的文件
getcwd()/getcwdu()返回当前工作目录/功能相同, 但返回一个 Unicode 对象
mkdir()/makedirs() 创建目录/创建多层目录
rmdir()/removedirs() 删除目录/删除多层目录
--------------------------------------
访问/权限
access() 检验权限模式
chmod() 改变权限模式
chown()/lchown() 改变 owner 和 group ID/功能相同, 但不会跟踪链接
umask() 设置默认权限模式
-----------------------------------------
文件描述符操作
open() 底层的操作系统 open (对于文件, 使用标准的内建 open() 函数)
read()/write() 根据文件描述符读取/写入数据
dup()/dup2()  复制文件描述符号/功能相同, 但是是复制到另一个文件描述符
----------------------------------------
设备号
makedev()从 major 和 minor 设备号创建一个原始设备号
major()/minor() 从原始设备号获得 major/minor 设备号
表 9.6 os.path 模块中的路径名访问函数
-----------------------------------------
分隔
basename() 去掉目录路径, 返回文件名
dirname()  去掉文件名, 返回目录路径
join() 将分离的各部分组合成一个路径名
split() 返回 (dirname(), basename()) 元组
splitdrive()  返回 (drivename, pathname) 元组
splitext() 返回 (filename, extension) 元组
-----------------------------------------
信息
getatime()  返回最近访问时间
getctime()  返回文件创建时间
getmtime()  返回最近文件修改时间
getsize() 返回文件大小(以字节为单位)
-----------------------------------------
查询
exists() 指定路径(文件或目录)是否存在
isabs() 指定路径是否为绝对路径
isdir() 指定路径是否存在且为一个目录
isfile() 指定路径是否存在且为一个文件
islink() 指定路径是否存在且为一个符号链接
ismount()  指定路径是否存在且为一个挂载点
samefile() 两个路径名是否指向同个文件

永久存储模块 ???不理解、等填坑

--pass--

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本章将介绍python的文件处理和相关输入输出能力。包括介绍文件对象(它的内建函数、内建方法和属性)、标准文件、同...
    JaeGwen阅读 3,998评论 0 0
  • 8-6. 计算Fibonacii数列,a1=1,a2=1...an=an-1+an-2 即前两个数是1,从3个数开...
    passwd_阅读 6,854评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,261评论 2 33
  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 5,679评论 0 6

友情链接更多精彩内容