(标答出处: 鱼C论坛)
《零基础入门学习Python》
测试题:
def wenjianxieru () :
wenjianming = input("请输入文件名:")
file1 = open (wenjianming,'w')
print ("请输入内容【单独输入':w'保存退出】:")
while True :
wenjianneirong = input()
if wenjianneirong != ':w' :
file1.write('%s\n' %wenjianneirong)
else :
break
file1.close()
wenjianxieru()
def compare (name1,name2) :
file1 = open (wenjian1,'r')
file2 = open (wenjian2,'r')
count = 0
diffr = []
for line1 in file1 :
line2 = file2.readline()
count += 1
if line1 != line2 :
diffr.append(count)
if len(diffr) == 0 :
print ("两个文件完全一样!")
else :
print("两个文件共有【%d】处不同:" %len(diffr))
for i in diffr :
print ("第 %s 行不一样" %i)
wenjian1 = input ("请输入需要比较的头一个文件名:")
wenjian2 = input ("请输入需要比较的另一个文件名:")
compare(wenjian1,wenjian2)
wenjian_lujing = input (r"请输入要打开的文件(C:\\test.txt):")
file1 = open (wenjian_lujing,'r')
hangshu = int (input("请输入需要显示该文件的前几行:"))
for i in range (hangshu):
print(file1.readline())
file1.close()
def wenjianyuelan(wenjian_name,line_num) :
if line_num.strip() == ';' :
begin = '1'
end = '-1'
(begin,end) = line_num.split(';')
if begin == '' :
begin = '1'
if end == '' :
end ='-1'
if begin == '1' and end == '-1' :
prompt = '的全文'
elif begin == '1' :
prompt = '从开始到%s' %end
elif end == '-1' :
prompt = '从%s到结束' %begin
else :
prompt = '从%s行到%s行' %(begin,end)
print ('\n文件%s%s的内容如下:\n' %(wenjian_name,prompt))
begin = int (begin) - 1
end = int (end)
lines = end - begin
f = open (wenjian_name)
for i in range (begin) :
f.readline()
if lines < 0 :
print (f.read())
else :
for j in range(lines) :
print (f.readline(),end = ' ')
f.close()
wenjian_name = input (r"请输入要打开的文件名(C:\\test.txt):")
line_num = input ("请输入需要显示的行数【格式如 13:21 或 :21 或 21: 或 : 】:")
wenjianyuelan(wenjian_name,line_num)
def wenjianquanbutihuan(wenjian_name,old,new) :
f = open (wenjian_name)
count = 0
content = []
f1 = f.read()
for i in f1 :
if old in i :
count += 1
i = i.replace(old,new)
content.append(i)
f.close()
print ("文件 %s 中共有 %d 个 【%s】" %(wenjian_name,count,old))
print ("您确定要把所有的【%s】替换为【%s】吗?" %(old,new))
temp = input("【YES/NO】:")
if temp in [ 'YES' , 'Yes' , 'yes' ] :
f2 = open (wenjian_name,'w')
f2.writelines(content)
f2.close()
print("替换成功!")
elif temp in [ 'NO' , 'No' , 'no' ] :
print ("未替换!")
else :
print("请输入正确的指令!")
f.close()
wenjian_name = input ("请输入文件名:")
old = input ("请输入需要替换的单词或字符:")
new = input ("请输入新的单词或字符:")
wenjianquanbutihuan(wenjian_name,old,new)
标答: