Python 小甲鱼第29课文件课后题。。编写一个程序,接受用户的输入并保存为新的文件

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()
      

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值