Python核心编程 第九章

1.file_object = open(file_name, access_mode='r', buffering=-1)

可选参数buffering用于指示访问文件所采用的缓冲方式。其中0表示不缓冲,1代表只缓冲一行数据,任何其他大于1的值代表使用给定值作为缓冲区大小。不提供该参数或者给定负值代表使用默认缓冲机制,既对任何类电报机设备使用行缓冲,其他设备使用正常缓冲。


2.通用换行符支持(UNS)

不同平台用来表示行结束的符号是不同的。当使用'U'标志打开文件的时候,所有行分隔符通过Python的输入方法(例如read())返回时都会被替换为换行符NEWLINE(\n)。


3.

输入

read()     用来直接读取字节到字符串中,最多读取给定数目个字节。如果没有给定size参数(默认值为-1)或者size值为负,文件将被读取直至末尾。

readline() 读取打开文件的一行。然后整行,包括行结束符,作为字符串返回。有可选参数,默认为-1,代表读至行结束符。

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


输出

write() 把含有文本数据或二进制数据块的字符串写入到文件中去。

writelines()  是针对列表的操作,接受一个字符串列表作为操作,将它们写入文件。行结束符不会被自动加入。

没有writeline()

输出方法write()或writelines()不会自动加入行结束符,你应该在向文件写入数据前自己完成。


4.

seek()方法。offset字节代表相对于某个位置偏移量,位置的默认值为0,代表从文件开头算起,1代表从当前位置算起,2代表从文件末尾算起。


5.

filename = raw_input('Enter file name: ');
f = open(filename, 'r');
allLines = f.readlines();
f.close();
for eachLine in allLines:
    print eachLine,;
读完所有行才开始向屏幕输出数据,如果文件很大,并不好。

filename = raw_input('Enter file name: ');
f = open(filename, 'r');
for eachLine in f:
    print eachLine,
f.close();
使用文件迭代器,每次只读取和显示一行。


6.

filename = raw_input('Enter file name: ');
f = open(filename, 'w');
while True:
    aLine = raw_input("Enter a line ('.' to quit)");
    if aLine != '.':
        f.write('%s%s'%(aLine, os.linesep));
    else:
        break;
f.close();

raw_input不会保留用户输入的换行符。调用write()方法时必须加上换行符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值