一、选择题
1–5 CBDBC
6-10 CCDAB
二、填空题
1. 3
2. 2
3. flush()
4. open()
5. with
6. listdir()
7. exists()
8. isfile()
9. isdir()
10. splitext()
11. 'w'
12. 文本文件 二进制文件
13. B 10
三、判断题
1–5 FFFFT
6-10 TFFTT
11-16TTTTTT
四、问答题
下面的代码本意是把当前文件夹中所有html文件都改为htm文件,仔细阅读代码,简要说明可能存在的问题。
import os
file_list=os.listdir(".")
for filename in file_list:
pos = filename.rindex(".")
if filename[pos+1:] == "html":
newname = filename[:pos+1]+"htm"
os.rename(filename,newname)
print(filename+"更名为:"+newname)
答:
对于字符串对象,如果要查找的子字符串不存在,则rindex()方法会抛出异常。所以,如果当前文件夹中有不包含圆点的文件名或者子文件夹名,上面的代码会抛出异常而崩溃。
1.编写程序,在D盘根目录下创建一个文本文件test.txt,并向其中写入字符串hello world。
参考代码如下:
fp = open(r’D:\test.txt’, ‘a+’)
print(‘hello world’, file=fp)
fp.close()
2.从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。
参考代码如下:
if __name__ == '__main__':
from sys import stdout
filename = input('输入文件名:\n')
fp = open(filename,"w")
ch = input('输入字符串:\n')
while ch != '#':
fp.write(ch)
stdout.write(ch)
ch = input('')
fp.close()
3.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
参考代码如下:
if __name__ == '__main__':
fp = open('test.txt','w')
string = input('please input a string:\n')
string = string.upper()
fp.write(string)
fp = open('test.txt','r')
print (fp.read())
fp.close()
4.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
参考代码如下:
if __name__ == '__main__':
import string
fp = open('test1.txt')
a = fp.read()
fp.close()
fp = open('test2.txt')
b = fp.read()
fp.close()
fp = open('test3.txt','w')
l = list(a + b)
l.sort()
s = ''
s = s.join(l)
fp.write(s)
fp.close()