文件
1.创建文件对象
file()函数与open()具有相同的功能,完全可替换,建议使用open
file_object=open(file_name,access_mode='r',buffering=-1)
access_mode的值,不写时默认是以r的方式打开
r 以读的方式
2.输入--------即从文件读取内容到内存
查看各种函数的使用:help(file.read)
f.read([size]):从文件中读取多少个字节,如果不写size表示读取到文件的结束位置
f.readline([size]):读取一行内容,包括行结束符。size默认为-1,表示读到行结束符。
size小于一行的长度时,读取size个字节,size大于一行的长度时,读取一整行。读到文件结束位置时,返回空字符串。
f.readlines([size]):读取所有行,生成字符串列表。
3.输出----------即将内存的数据写入到文件
f.write(string):写入字符串到文件
f.writelines(sequence_of_strings):写入多行,需要手动添加换行符。没有writeline方法
在读取行时,会有换行符,通过line.strip()删除换行符
4.文件内移动
f.seek(offset[,whence]):offset偏移的字节数,whence是相对位置,0表示从文件开始位置,1表示当前位置,2表示文件末尾
f.tell() 文件指针在第几个字符位置
5.文件迭代
使用文件迭代的方法避免了readlines方法中将所有行读到内存,内存消耗比较大。
使用文件迭代时每次只读取一行。
-------------------------------------
for i in f.readlines(5):
print i
-----------------------------------
简化后直接使用文件迭代
f=open('F:\\write.txt','r')
for line in f:
print line
6.os模块中有一些关于文件的属性
fobj.write('%s%s'% (aLine,os.linesep))
print后面会自动加上换行符,readline()和readlines()会读取到文件的换行符,所有在使用print打印行时,要加上逗号,去除print的换行符
7.file对象内建方法
8.文件对象的属性
9.标准文件
执行文件时,默认会打开三个文件:
标准输入:文件句柄为sys.stdin,raw_input()从sys.stdin接收输入
标准输出:sys.stdout,print语句就是将内容输出到sys.stdout
标准错误:sys.srderr
10.命令行参数
sys.argv是命令行参数的列表
len(sys.argv):命令行参数的个数
sys.argv[0]是程序文件:即C:/Users/huan.tang/Desktop/test.py
python C:/Users/huan.tang/Desktop/test.py 1 2 "ajkjkfj"
11.文件系统
对于不同的操作系统,文件系统也不同。但只需要导入os模块python就会选择正确的模块。
os模块对文件系统的操作,包括文件和目录的操作
os.path模块对路径的操作