文件有关

笔记:
参考: http://blog.csdn.net/junwei0206/article/details/44966261
1、利用help(open)可以看到open()函数的定义:open(file,mode=’r’,buffering=1,encoding=None,errors=None,newline=None,closefd=True,opener=None)
2、文件的打开模式:
这里写图片描述
3、文件的对象方法:
这里写图片描述

测试题:

  1. 下边只有一种方式不能打开文件,请问是哪一种,为什么?
>>> f = open('E:/test.txt','w') #A  
>>> f = open('E:\test.txt','w') #B  
>>> f = open('E://test.txt','w') #C  
>>> f = open('E:\\test.txt','w') #D  
``
答:B,Windows在路径名中既可以接受斜线(/)也可以接受反斜线(\),不过如果使用反斜线作为路径名的分隔符的话,要注意使用双
行转义,否则Python会将反斜线进行转义,例如(\n)看成一个换行符,(\t)看作一个制表符等。
2.  请问 >>> open(' E: \\Test.bin' ,  ' xb' ) 是以什么样的模式打开文件的?
答:以“可写入以及二进制模式”打开文件“E: \\Test.bin”。

这里要注意的是' x'' w'均是以“可写入”的模式打开文件,但以' x'模式打开的时候,如果路径下已经存在相同的文件名,会抛出异常,而
直接覆盖同名文件。

因此,' w'模式打开文件会比较危险,容易导致此前的内容遗失,因此使用' w'模式打开文件前先检查该文件名是否已经存在显得非常重要

3.  尽管Python有所谓的“垃圾回收机制”,但对于打开了的文件,在不需要用到的时候我们仍然使用f. close()将文件对象“关闭”,这是为什么呢?
答:Python拥有垃圾收集机制,会在文件对象的引用计数降至零的时候自动关闭文件,所以在Python编程里,如果忘记关闭文件并不会带来什么危险。

但并不是说就可以不要关闭文件,如果你对文件进行了写入操作,那么你应该在完成写入之后进行关闭文件。因为Python可能会缓存你写入文件中的数据,如果
这中间断电了神马的,那些缓存的数据根本就不会写入到文件中。所以,为了安全起见,要养成使用完文件后立刻关闭的优雅习惯。

4.  如何将一个文件对象(f)中的数据存放进列表中?
答:list(f)
5.  如何迭代打印出文件对象(f)中的每一行数据?
[python] view plain copy
for eacn_line in f:  
    print(each_line)  

6.  文件对象的内置方法f. read([size=-1])作用是读取文件对象内容,size参数是可选的,那如果设置了size=10,例如f. read(10),将返回什么?
答:将返回从文件指针开始(注意这里并不是文件头哦)的连续10个字符。

7.  如何获得文件对象(f)当前文件指针的位置?
答:f. tell()
8.  还是视频中的那个演示文件(record. txt),请问为何f. seek(45,  0)不会出错,但f. seek(46)就出错了呢?

f.seek(46)
46
f.readline()
Traceback (most recent call last):
Flie “

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值