第八章课后习题 1. 请简述文本文件与二进制文件的区别? 【参考答案】 (1)文本文件:文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符'\n'结尾。常规字符串是指记事本或其他文本编辑器能正常显示、编辑并且人类能够直接阅读和理解的字符串,如英文字母、汉字、数字字符串。文本文件可以使用字处理软件如gedit、记事本进行编辑。 (2)二进制文件:二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据库文件、各类office文档等都属于二进制文件。 2. 请简述Python中读取文件有哪些方法,各自有何特点。 【参考答案】 在Python语言中提供了read()和write()方法实现对文件数据的基本读写;文件基本读写操作可以满足大部分文件应用,但有时效率比较低下。因此,在Python语言中为了提高读写的效率,还提供了按行读写的方式,实现逐行数据处理。文件按行读写涉及的主要方法有readline()、readlines()和writelines()等;操作文件时,当文件的内容较多时,文件的定位读写相当重要。在Python语言中,支持使用文件指针的形式定位文件的读写位置,其主要由tell()方法和seek()方法来实现。 3. Python语言中如何进行系统文件和目录操作? 【参考答案】 在Python中,对文件系统的访问大多通过的os模块实现,该模块也是Python访问操作系统功能的主要接口。os模块提供了对操作系统相关功能操作,其与具体的操作系统平台无关,主要包括文件操作和目录操作等。在实际的编程过程中,经常需要获取文件所在路径信息,比如查找特定配置文件位置等,这些都依赖于os.path模块。os.path模块主要用于获取文件的属性。另外,可以通过os.path.split(path)方法方便查看路径的文件路径和文件名。 4. 假设有一个英文文本文件,编写程序读取其内容,并将其中的大写字母变为小写字母,小写字母变为大写字母。 【参考答案】 f = open(r'd:\1.txt','r') s = f.readlines() f.close() r = [i.swapcase() for i in s] f = open(r'd:\2.txt','w') f.writelines(r) f.close() 5. 编写代码,将当前工作目录修改为“C:\”,并验证,最后将当前工作目录恢复为原来的目录。 【参考答案】: >>> import os >>> os.getcwd() 'C:\\Python34' >>> os.chdir(r'c:\\') >>> os.getcwd() 'C:\\' >>> os.chdir(r'c:\Python34') >>> os.getcwd() 'C:\\Python34' 6. 编写代码,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件。 【参考答案】: import sys import os directory = sys.argv[1] filename = sys.argv[2] paths = os.walk(directory) for root,dirs,files in paths: if filename in files: print('Yes') break else: print('No') 本文来源:https://www.wddqw.com/doc/a98089e785c24028915f804d2b160b4e767f81b2.html