<PY><core python programming笔记>C9 文件和输入输出

来源:互联网 发布:samba默认端口号 编辑:程序博客网 时间:2024/05/18 22:18


C9 文件和输入输出


9.1文件对象
标准wenj  url   独立的进程中进行一个命令通信   
文件只是连续的字节序列

9.2open()  #也作file()
file_object=open(file_path_name,access_mode='r',buffering=-1)
r只读  w清空再写(若无文件自动创建)  u通用换行符支持  a追加
b二进制模式(unix统一采用,可以不写)  + 可读可写
buffering 0表示不缓冲  其他数字表示缓冲几行
.close()       关闭文件 #记得

9.3文件内建方法
.read()        size=-1或负值时直接读到末尾
.readline()   读一行 size默认-1 其他值时可能读入不是完整行
.readlines()  读取所有行
.xreadlines()  一次读一块 可以提高效率
.write()       写入 可以自动加上换行
.writelines()  写入列表  要手动加上换行符 \n  或者 \r\n
9.3.4 文件迭代(对于大文件特别好)
for eachline in f
9.3.5内建
.fileno()           返回打开文件的描述符
.flush()             直接吧内部缓冲区的数据立刻写入文件
.isatty()            判断是否类tty设备
.truncate()       将文件截取到当前文件指针位置或者到给定size
.next()              返回下一行
.seek()              可以移动文件指针到指定位置  0是开头 1是当前 2是末尾
.tell()                返回在当前文件的位置
.closed            验证是否关闭
.encoding       编码方式 默认None
.mode              Access文件打开是使用的访问方式
.name              文件名
.newlines
.softspace

9.3.6有助于跨平台的os模块属性
linesep           用于在文件中做分割行符
sep                 用来分隔文件路径名
pathsep         用于分隔文件路径
curdir            当前工作目录的字符串名称
pardir            当前工作父目录字符串名称
#要做跨平台 尽量使用这些符号

9.5三个标准文件  #程序一执行就产生了
sys.stdin         标准输入(键盘)
sys.stout         标准输出(到显示器的缓冲输出)
sys.sterr          标准错误(到屏幕的非缓冲输出)

9.6命令行参数
sys.argv 是命令行参数的列表
len(sys.agrv)  是命令行参数的个数

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

9.8文件执行
在14章讨论
9.9永久存储模块
pikle 和marshal模块
dbm兼容模块
shelve模块
9.10相关模块
base64    binascii   bz2        csv     filecmp    fileinput    getopt/optparse
global/fnmatch      gzip  zlib  shutil       c/StringIO
tarfile  tempfile      uu   zipfile




0 0
原创粉丝点击