文本文件内容操作案例(假设文件data.txt中有若干整数,所有整数之间使用使用英文逗号分割,编写程序读取所有整数)

案例:

假设文件data.txt中有若干整数,所有整数之间使用使用英文逗号分割,编写程序读取所有整数,将其按照升序排序之后再写入文本文件data_asc.txt

data.txt

1
         2223
45
234
           98
213
124
34
        21
89

题目解析:

  1. 写在文件里面我们需要解析,第一步就是读取文件,使用with open读取可以不用close()关闭
  2. 把所有整数用逗号分割,我们读取出来的type是str类型,需要进行int转换,同时用逗号分割,分割函数split(),看上面的data文件有一些有空格字符,我们需要使用strip()去除两边的空格
  3. 按照升序排列,默认就是升序排序,排序用的方法是sort()
  4. 写入的时候需要将整型(int)转换为字符串(str)写入,这里一般用到映射函数map()
  5. 最后就是使用write()方法将其写入

代码:

with open("data.txt","r") as fp:
    data=fp.readlines() #读取所有行
data=[line.strip() for line in data] #删除每行两侧的空白字符
data=",".join(data) # 合并所有行
data=data.split(",")  #分割所得到的所有字符串
data=[int(item) for item in data] # 转换为数字
data.sort()
# data.sort(reverse=True) #降序排列
data=','.join(map(str,data))  #将结果转换为字符串
# type(data)
with open("data_asc.txt",'w') as fp:
    fp.write(data)

文本文件内容操作案例(假设文件data.txt中有若干整数,所有整数之间使用使用英文逗号分割,编写程序读取所有整数)_第1张图片

你可能感兴趣的:(python,笔记,python)