Powder_Snow_ 2022-12-09 00:02 采纳率: 78.9%
浏览 55
已结题

Python文本文件

使用jupyter notebook
在D盘根目录下创建一个“data.txt”文档,写入整数86,70,58,每个整数占一行。读取"data.txt"文件,并将其按升序排列,重新写入data.txt文件。
  • 写回答

2条回答 默认 最新

  • 桑榆肖物 全栈领域新星创作者 2022-12-09 00:46
    关注

    如果使用jupyter notebook可以创建代码单元格,先创建文件

    # 导入必要的模块
    import os
    from pathlib import Path
    # 将当前工作目录设为 D 盘的根目录
    os.chdir('D:\\')
    # 打开一个名为 data.txt 的文件。如果文件不存在,则会自动创建它。
    data_file = Path('data.txt').open('w')
    # 使用 write 方法将整数 867058 写入 data_file。注意,每个整数需要占一行。
    data_file.write('86\n')
    data_file.write('70\n')
    data_file.write('58\n')
    # 使用 close 方法关闭 data_file
    data_file.close()
    

    然后读取排序写入

    # 使用 Path 类的 open 方法以读取模式打开名为 data.txt 的文件
    data_file = Path('data.txt').open()
    # 使用 readlines 方法读取 data_file 中的所有行,并将它们存储在一个名为 lines 的列表中
    lines = data_file.readlines()
    # 关闭 data_file
    data_file.close()
    # 使用列表的 sort 方法将 lines 按升序排列。
    lines.sort()
    # 使用 Path 类的 open 方法以写入模式打开名为 data.txt 的文件。如果文件已存在,则会被覆盖
    data_file = Path('data.txt').open('w')
    # 使用 writelines 方法将排序后的行列表写入 data_file
    data_file.writelines(lines)
    # 关闭 data_file
    data_file.close()
    

    img

    可以使用Python的文件操作函数(例如open,readline和write)来完成上述操作。下面是使用Python读取“data.txt”文件,并将其按升序排列,重新写入“data.txt”文件的代码示例:

    # 打开“data.txt”文件,读取其中的整数
    int_list = []
    with open("d:\data.txt", "r") as f:
        for line in f:
            int_list.append(int(line))
    
    # 将整数列表按升序排序
    int_list.sort()
    
    # 打开“data.txt”文件,将排序后的整数写入文件中
    with open("d:\data.txt", "w") as f:
        for i in int_list:
            f.write(str(i) + "\n")
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 修改了问题 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大