1、编写一个程序,接受用户的输入并保存为新的文件
def file_write(filename):
f = open(filename,'w')
print('请输入内容【单独输入store保存并退出】:')
while True:
writesome = input()
if writesome != 'store':
f.write('%s\n' % writesome)
else:
break
filename = input('请输入文件名:')
file_write(filename)
2、编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号。
两个文件的内容:
文件一:
世界的温柔,
是晚来的善意和干净的你。
希望好心情每天照常营业,
烦心事永久打烊。
每个年龄的烦恼,
都会在那个年龄的地方,
安静地等着你,
从不缺席。
遇见了黄昏,
万物都变得温柔动人了。
希望你能永远明朗坦荡钟情豁达,
有得有失有坚持,
能笑能哭能尽欢。
人间不会有单纯的快乐,
快乐总夹杂着烦恼和忧虑,
人间也没有永远。
文件二:
世界的温柔,
是善意和你。
希望好心情每天照常营业,
烦心事永久打烊。
每个年龄的快乐,
都会在那个年龄的地方,
安静地等着你,
从不缺席。
遇见了清晨,
万物都变得温柔动人了。
希望你能永远明朗坦荡钟情豁达,
有得有失有坚持,
能笑能哭能尽欢。
人间会有单纯的快乐,
虽然快乐有时夹杂着烦恼和忧虑,
细细享受生命。
程序:
file1 = input('请输入第一个要比较的文件名:')
file2 = input('请输入第二个要比较的文件名:')
f1 = open(file1)
f2 = open(file2)
count = 0 # 统计行数
for eachline1 in f1:
eachline2 = f2.readline()
count += 1;
if eachline1 != eachline2:
print('第%d行不同' %count)
f1.close()
f2.close()
3、编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上
file = input('请输入一个要打开的文件(C:\\文件名.txt):')
num = int(input('请输入需要显示该文件的前几行:'))
f = open(file)
for i in range(1,num):
print(f.readline(),end = '')
f.close()
4、呃,不得不说我们的用户越来越刁钻了。要求在上一题的基础上扩展,用户可以随意输入需要显示的行数。(如输入13:21打印第13行到21行,输入:21打印前21行……)
filename = input('请输入你要打开的文件名(C:\\文件名.txt):')
num = input('请输入你要读取的文件范围(始行数:尾行数):')
f = open(filename)
(begin,end) = num.split(':',1)
if begin != '':
line = int(begin)
for i in range(1,line):
f.readline()
if end == '':
print(f.read())
else:
count = int(end) - int(begin) + 1
for i in range(count):
print(f.readline(),end = '')
else:
if end == '':
print(f.read())
else:
for i in range(int(end)):
print(f.readline(),end = '')
f.close()