前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习笔记(文件)

Python学习笔记(文件)

作者头像
张树臣
发布2018-05-15 16:49:40
5680
发布2018-05-15 16:49:40
举报

程序1

编写一个程序,接受用户的输入并保存为新的文件,程序实现如图:

代码语言:javascript
复制
def file_write(filename):
    file1=open('E:/%s'%filename,'w')
    context=print("请输入内容:")
    while 1:
        write=input()
        if write != ':w':
            file1.write('%s\n'%write)
        else:
            break
    file1.close()

filename=input("输入文件名:")
file_write(filename)

程序2

编写一个程序,比较用户输入的两个文件,如果不同。显示出所有不同处的行号与第一处不同字符的位置。

代码语言:javascript
复制
def file_compare(fname1,fname2):
    f1=open(fname1)
    f2=open(fname2)
    count=0 #统计行数
    dif=[] #统计不同处

    for row1 in f1:
        row2=f2.readline()
        count+=1
        if row1!=row2:
            dif.append(count)
    f1.close()
    f2.close()
    return dif

程序3

编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行打印出来,程序实现如图:

代码语言:javascript
复制
def file_print(filename,num):
    print('文件%s前%s行的内容如下:'%(filename,num))
    file1=open(filename)
    for i in range(int(num)):
        print(file1.readline())

filename=input(r"请输入要打开的文件名(E:/file1.txt):")
num=input("请输入行数:")
file_print(filename,num)

程序4

# 在上一题的基础上扩展,用户可以随意输入要显示的行数。

# 如输入2:5表示打印第2行到第5行的内容;

# 输入:2表示打印从开头到第2行的内容;

# 输入4:表示打印从第4行到结尾的内容;

# 输入:表示打印全部的内容

方法1:

代码语言:javascript
复制
def file_read(filepath,line):
    if line.strip()==":":
        begin=1
        end=-1
    (begin,end)=line.split(":")
    if begin=='':
        begin=1
    if end=='':
        end=-1

    if begin==1 and end==-1:
        t='的全文'
    elif begin==1:
        t='从开始到第%s行'%end
    elif end=='':
        t='从第%s行到结束'%begin
    else:
        t='从第%s行到第%s行'%(begin,end)

    print('文件%s%s的内容如下'%(filepath,t))

    begin=int(begin) - 1
    lines=int(end) - int(begin)
    f=open(filepath)

    for i in range(begin): #用于消耗begin以前的内容
        f.readline()

    if lines<0:
        print(f.read())
    else:
        for j in range(lines):
            print(f.readline())

    f.close()
file=input(r'请输入要打印的文件路径:如(E:/file4.txt)')
linetemp=input(r'请输入要打印的行数,如(2:5或:2或3:)')
file_read(file,linetemp)

往期回顾

Python学习笔记(1)-介绍

Python学习笔记(2)

Python学习笔记(3)-数据类型

Python学习笔记(4)-循环

Python学习笔记(5)-循环

Python学习笔记(6)-循环

Python学习笔记(7)

Python学习笔记(8)-四个小程序

Python学习笔记(9)-函数

Python学习笔记(10)-回文联和统计入参

Python学习笔记(11)-递归

Python学习笔记(12)-字典

Python学习笔记(13)-集合

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档