2016.12.17
关于文件的课后习题。
答案是B,B不能打开文件。
1.打开一个文件我们使用open()函数,通过设置文件的打开模式,决定打开的文件具有哪些性质,请问默认的打开模式是什么?
答:open()函数默认的打开模式是‘rt’,即可读,文本的模式打开。
2.请问>>>open('E:\\Test.bin','xb')是以什么样的模式打开文件的?
答:以“可写入以及二进制模式”打开“E:\\Test.bin”.
这里要注意的是‘x’和‘w’均是以”可写入”的模式打开文件,但是‘x’模式打开的时候,如果路径下已经存在相同的文件名,会抛出异常,而‘w’模式的话会直接覆盖同名文件。
3.尽管Python有所谓的“垃圾回收机制”,但是打开了的文件,在不需要用到的时候我们仍然需要使用f.close将文件“关闭”,这是为什么?
答:Python拥有垃圾回收机制,会在文件对象引用计数至零的时候自动关闭文件,所以在Python编程里,如果忘记关闭文件并不会造成内存泄漏那么危险。
4.如何将一个文件对象(f)中的数据存放进列表中。
答:list(f)
5.如何迭代打印出文件对象(f)中每一行数据。
直接用for循环把文件对象迭代出来即可
for each_line in f:
print(each_line)
6.文件对象的内置方法f.read(size=-1)作用是读取文件对象内容,size参数是可选的,那如果设置了size=10,列如:f.read(10),将返回什么类容。
答:将返回从文件开始指针开始的10个字符。
7.尝试将文件(OpenMe.mp3)打印到屏幕上
答:直接使用文本文档的形式打开即可。
f = open('OpenMe.mp3')
for each_line in f:
print(each_line,end='')
f.close()
8.编写代码,将上一题中的文件(OpenMe.mp3)保存为(OpenMe.txt)
f1=open('OpenMe.mp3')
f2=open('OpenMe.txt','x')
f2.write(f1.read())
f2.close()
f1.close()