文档章节

chapter 9 summary

happyliferao
 happyliferao
发布于 2015/10/12 14:45
字数 1889
阅读 10
收藏 0
open() 的基本语法是:
file_object = open(file_name, access_mode='r',buffering=-1)
access_mode,'r','w','a','U'分别代表读取, 写入和追加,通用换行符支持
使用 'r' 或 'U' 模式打开的文件必须是已经存在的

文件模式 操作
r 以读方式打开
Edit By Vheavens
Edit By Vheavens
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w 以写方式打开 (必要时清空)
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
a. Python 2.3 中新增



readlines() 方法并不像其它两个输入方法一样返回一个字符串. 它会读取所有(剩余的)行然
后把它们作为一个字符串列表返回.

os 模块属性 描述
linesep 用于在文件中分隔行的字符串
sep 用来分隔文件路径名的字符串
pathsep 用于分隔文件路径的字符串
curdir 当前工作目录的字符串名称
pardir (当前工作目录的)父目录字符串名称
不管你使用的是什么平台, 只要你导入了 os 模块, 这些变量自动会被设置为正确的值, 减少
了你的麻烦.

文件对象的内建方法 操作
file.close() 关闭文件
file.fileno() 返回文件的描述符(file descriptor ,FD, 整数值)
file.flush() 刷新文件的内部缓冲区
file.isatty() 判断 file 是否是一个类 tty 设备
file.nexta() 返回文件的下一行(类似于file.readline() ), 或在没有其它行时
引发 StopIteration 异常
file.read(size=-1) 从文件读取 size 个字节, 当未给定 size 或给定负值的时候,读取剩余的所有字节, 然后作为字符串返回
file.readintob(buf, size) 从文件读取 size 个字节到 buf 缓冲器(已不支持)
file.readline(size=-1) 从文件中读取并返回一行(包括行结束符), 或返回最大 size
file.readlines(sizhint=0) 读取文件的所有行并作为一个列表返回(包含所有的行结束符); 如果给定sizhint 且大于 0 , 那么将返回总和大约为
sizhint 字节的行(大小由缓冲器容量的下一个值决定)( 比如说缓冲器的大小只能为4K 的倍数,如果sizhint为15k,则最后返回的可能是16k———译者按)
file.xreadlinesc() 用于迭代, 可以替换 readlines() 的一个更高效的方法
file.seek(off, whence=0) 在文件中移动文件指针, 从 whence ( 0 代表文件其始, 1代表当前位置, 2 代表文件末尾)偏移 off 字节
file.tell() 返回当前在文件中的位置
file.truncate(size=file.tell()) 截取文件到最大 size 字节,默认为当前文件位置
file.write(str) 向文件写入字符串
file.writelines(seq) 向文件写入字符串序列 seq ; seq 应该是一个返回字符串的可迭代对象; 在2.2 前, 它只是字符串的列表

文件的内建属性:
文件对象的属性 描述
file.closed True 表示文件已经被关闭, 否则为 False
file.encodinga 文件所使用的编码 - 当 Unicode 字符串被写入数据时, 它们将自动使用file.encoding 转换为字节字符串; 若file.encoding 为 None 时使用系统默认编码
file.mode 文件打开时使用的访问模式
file.name 文件名
file.newlinesa 未读取到行分隔符时为 None , 只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束符的列表
file.softspace 为0 表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用。


sys 模块通过 sys.argv 属性提供了对命令行参数的访问
命令行参数是调用某个程序时除程序以为的其他参数,比如在文本的环境下执行程序就要在cmd下输入程序名和命令行参数。大多 IDE环境都提供一个用来输入"命令行参数"的窗口; 这些参数最后会像命令行上执行那样被传递给程序.
sys.argv 是命令行参数的列表
􀁺 len(sys.argv) 是命令行参数的个数(也就是 argc)
sys.argv[0]永远是文件名。


文件系统

表9.5 os 模块的文件/目录访问函数
函数 描述
文件处理
mkfifo()/mknod() 创建命名管道/创建文件系统节点
remove()/unlink() Delete file 删除文件
rename()/renames() 重命名文件
*statc() 返回文件信息
symlink() 创建符号链接
utime() 更新时间戳
tmpfile() 创建并打开('w+b')一个新的临时文件
walk()生成一个目录树下的所有文件名
目录/文件夹
chdir()/fchdir()改变当前工作目录/通过一个文件描述符改变当前工作目录
chroot()d 改变当前进程的根目录
listdir() 列出指定目录的文件
getcwd()/getcwdu() 返回当前工作目录/功能相同, 但返回一个 Unicode 对象
mkdir()/makedirs() 创建目录/创建多层目录
rmdir()/removedirs() 删除目录/删除多层目录
访问/权限
access() 检验权限模式
chmod() 改变权限模式
chown()/lchown()a 改变 owner 和 group ID/功能相同, 但不会跟踪链接
umask() 设置默认权限模式
文件描述符操作
open() 底层的操作系统 open (对于文件, 使用标准的内建 open() 函数)
read()/write() 根据文件描述符读取/写入数据
dup()/dup2() 复制文件描述符号/功能相同, 但是是复制到另一个文件描述符
设备号
makedev()a 从 major 和 minor 设备号创建一个原始设备号
Edit By Vheavens
Edit By Vheavens
major() /minor()a从原始设备号获得 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() 两个路径名是否指向同个文件


pickle 和 marshal 模块

pickle 模块中的两个主要函数是 dump() 和 load()。dump()函数接受一个文件句柄和一个数据对象作为参数, 把数据对象以特定格式保存到给定文件里. 当我们使用 load()函数从文件中取出已保存的对象时, pickle 知道如何恢复这些对象到它们本来的格式.

© 著作权归作者所有

共有 人打赏支持
happyliferao
粉丝 6
博文 85
码字总数 60147
作品 0
顺义
QA/测试工程师
chapter 9 exercise

9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做 Python , Perl, Tcl, 等大多脚本文件的注释符号. 附加题: 处理不是第一个字符开头的注释. import os filen...

happyliferao
2015/10/09
60
0
chapter 8 summary

避免“悬挂 else” 映射对象(比如字典)的一个最大好处就是它的搜索操作比类似 if-elif-else 语句或是 for 循环这样的序列查询要快很多. if ...: .... elif ...: .... . . . . else: ... 可以...

happyliferao
2015/10/12
4
0
chapter 7 summarize

chapter 7,dictionary dictionary: 字典是通过这样的算法来比较的: 首先是字典的大小,然后是键,最 后是值。 dictionary内建函数和工厂函数: str(),cmp(),dict() len(),hash() 字符串和...

happyliferao
2015/10/12
2
0
chapter 8 exercise

8–4. 素数.我们在本章已经给出了一些代码来确定一个数字的最大约数或者它是否是一个 素数. 请把相关代码转换为一个返回值为布尔值的函数,函数名为isprime() . 如果输入的是一个 素数, 那么...

happyliferao
2015/10/09
50
0
chapter 6 exercises

6–1. 字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串 是否是另一个大字符串的一部分? yes,string.find() 检测str 是否包含在string 中,如果beg 和end 指定范...

happyliferao
2015/10/12
11
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Minifilter的动态安装、加载及卸载

MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。 看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instanc...

simpower
27分钟前
3
0
idea新建springCloud项目(6)- Config Server使用

1.在IDEA新建springCloud项目-Config Server 修改版本,和之前建的eureka项目版本一致,修改完记得刷新: 删除掉不需要的文件: 2.把Config S 服务注册到eureka上去,配置git地址,启动项目 ...

monroeCode
33分钟前
4
0
大数据可视化项目开发总纲

第1章 开发文档总纲 1.1 开发工具清单 名称 版本 备注 Pentaho-bi server pentaho-server-ce-7.1 Pentaho Cde为其内置工具 Pentaho-prd pentaho-prd-ce-7.1 Pentaho Report Designer报表工具...

ZhangLG
33分钟前
4
0
pip安装超时问题

pip3 install --default-timeout=100 tensorflow 设置为100秒 参考: User Guide How to solve ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) with pip?......

亚林瓜子
35分钟前
2
0
fragment 旋转时保持当前实例

设备旋转时保存Fragment的交互状态: setRetainInstance(true);

zdglf
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部