[入门-9] IO之文件输入和输出
Posted WhateverYoung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[入门-9] IO之文件输入和输出相关的知识,希望对你有一定的参考价值。
文件对象
- 文件对象 file
- 类文件对象 file-like
- 文件只是连续的字符序列
文件内建函数
- 无论是读取还是写入,换行符都需要程序员自己控制
#open()
file_object = open(filename, access_mode='r',buffering=-1)
filename:文件字符串,相对路径绝对路径都可以
access_mode:'r/w/a/U/b/+'
#file() 直接替换open()
f=file('/var/log/a.txt')=open('/var/log/a.txt')
#通用换行符
UNIX:\\n
Windows:\\r\\n
#内建方法
#输入
#从文件中读取size个字节,默认读取所有字节,作为字符串返回
f.read(size=-1)
#从文件中读取并返回1行,包括行结束符,或最大返回size个字符,超过size就不完整返回
f.readline(size=-1)
#从文件中读取所有行,做为列表返回,包含所有的行结束符,如果给定参数且大于0,将返回总和大约sizhint字节的行
f.readlines(sizhint=0)
f.next()
#输出
#将文本数据或二进制的字符串写入文件
f.write(str)
#将字符串列表,或seq是一个可以返回字符串的可迭代对象,写入文件
f.writelines(seq)
#文件内移动
#0:从文件开始,1当前位置,2文件结尾
f.seek(offset, whence=0)
f.tell() #返回当前在文件的位置,从起始算起,以字节计算
#其他
f.fileno()
f.close()
f.flush()
f.isatty()
f.truncate()
#各类特殊符号
os.lineseq :文件中分隔行的字符
os.sep :分隔文件路径名的字符串
os.pathsep :分隔文件路径的字符串
os.curdir :当前工作路径的字符串名称
os.pardir :当前目录的父目录字符串名称
print 会自动在末尾添加换行符,不想要的时候,用','
#常用文件迭代
for eachLine in f:
pass
data = [line.strip() for line in f.readlines()]
文件内建属性
f.closed
f.encoding
f.mode
f.name
f.newlines
f.softspace
##标准文件
sys.stdout
sys.err
sys.stdin
命令行参数
sys.argv
argc=len(sys.argv)
./a.py x y z
#getopt/optparse模块
文件系统
- 文件
- mkfifo()/mknod()
- remove()/unlink()
- rename()/renames()
- *stat()
- syslink()
- utime()
- tmpfile()
- walk()
- 目录
- chdir()/fchdir()
- chroot()
- listdir()
- getcwd()/getcwdu()
- mkdir()/makedirs()
- rmdir()/removedirs()
- 访问/权限
- access()
- chmod()
- chown()
- lchown()
- umask()
文件描述符操作
- open()
- read()/write()
- dup()/dup2()
os.path
- basename() #文件名
- dirname() #路径名
- join() #合成路径名
- split()
- splitdrive()
- splitext()
- getatime()
- getctime()
- getmtime()
- getsize()
- exists()
- isabs()
- isdir()
- isfile()
- islink()
- ismount()
- samefile()
永久存储模块
- pickle, dump(), load(),可以直接把对象保存在文件中cPickle是更快速的c语言编译版本
- shelve,更智慧的字典存储
- marshal
相关模块
base64,binascii,bz2,csv,filecmp,fileinput,tempfile
getopt/optparse,glob/fnmatch,gzip/zlib,shutil,tarfile,zipfile,uu,c/StringIO
Reference
Python核心编程
以上是关于[入门-9] IO之文件输入和输出的主要内容,如果未能解决你的问题,请参考以下文章