`

文件-一个简单的任务

 
阅读更多

2016.12.16

 

一般文件分为输入,处理和输出三个部分。

下面是有关文件的一张表。


 

如何打开文件

handle = open(file_name,access_mode='r')

file_name变量包含我们希望打开的文件的字符串名字,access_mode中‘r’表示读取,‘w’表示写入,‘a’表示添加。‘+’表示读写,‘b’表示二进制访问。如果未提供access_mode,默认值为‘r’.如果open成功,一个文件对象句柄会被返回。当一个文件被返回之后,我们就可以访问它的一些方法,比如readlines()和close().

任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来:
小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”)
小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”)

 

文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txtboy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt6个文件(提示:文件中不同的对话间已经使用“==========分割

 

关于一个文件,编写一个程序如下:

def save_file(boy, girl, count):
    file_name_boy = 'boy_' + str(count) + '.txt'
    file_name_girl = 'girl_' + str(count) + '.txt'

    boy_file = open(file_name_boy, 'w')
    girl_file = open(file_name_girl, 'w')

    boy_file.writelines(boy)
    girl_file.writelines(girl)

    boy_file.close()
    girl_file.close()


def split_file(file_name):
    f = open('record.txt')

    boy = []
    girl = []
    count = 1

    for each_line in f:
        if each_line[:6] != '======':
            (role, line_spoken) = each_line.split(':', 1)
            if role == '小甲鱼':
                boy.append(line_spoken)
            if role == '小客服':
                girl.append(line_spoken)
        else:
            save_file(boy, girl, count)

            boy = []
            girl = []
            count += 1

    save_file(boy, girl, count)

    f.close()


split_file('record.txt')

 运行后能够在同一个文件中生成几个txt形式的文件。注意代码生成的地方要和文件的地方在一起。这样就可以打开和读取文件了。

 

  • 大小: 30.5 KB
  • 大小: 54.6 KB
  • 大小: 13 KB
分享到:
评论

相关推荐

    maven工程-基于springboot定时任务

    【正文】 在现代Java开发中,Spring Boot框架已经成为构建高效、简洁的应用程序的首选工具,尤其在...在hello-springboot项目中,你可以尝试按照上述步骤创建并运行一个简单的定时任务,进一步理解和掌握这一功能。

    Node.js-start-超级简单的任务Runner基于复合函数和promise链接

    在本文中,我们将深入探讨如何使用Node.js创建一个超级简单的任务Runner,该Runner基于复合函数和Promise链。这个任务Runner的目的是帮助开发者更高效地组织和执行一系列异步操作,这是Node.js开发中的常见需求。在...

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具.zip

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具 功能特性 断点续传 支持多线程 (目前版本仅支持单任务单线程,多任务才多线程,未来会继续完善单任务的多线程执行) 使用本项目的理由 可靠...

    最新版xxl-job任务调度文件

    4. **Web管理界面**:XXL-JOB提供了一个友好的Web管理界面,用户可以方便地进行任务的添加、修改、删除、监控等操作。界面直观,降低了使用门槛。 5. **日志追踪**:任务执行过程中的日志会被记录下来,方便开发者...

    简易文件管理系统--适合C++初学者

    在本项目中,"简易文件管理系统"是一个专为C++初学者设计的实践教程,旨在帮助他们理解如何在C++编程环境下实现一个简单的文件管理功能。这个系统可能涵盖了基本的文件操作,如创建、读取、写入和删除文件,以及文件...

    基于Java核心的xxl-job分布式任务调度平台设计源码

    该项目为基于Java核心的xxl-job分布式任务调度平台,源代码包含287个文件,涵盖133个Java源文件、35个PNG图片、35个JavaScript文件、16个XML配置文件、12个CSS样式表、11个FTL模板文件、6个属性文件、3个Markdown...

    Node.js-一个超级简单基于cli的任务日志器

    这个基于CLI(命令行界面)的任务日志器,是一个利用Node.js特性和模块化编程设计的小型工具,旨在帮助用户记录和管理日常任务。通过在命令行中简单地输入指令,你可以轻松地记录和查看你的工作进度,从而提高工作...

    go-task task计划任务

    `go-task`是一个基于Golang编写的任务计划系统,主要功能是执行定期的任务,初期设计重点在于访问URL,因此适用于监控用途。它利用Go语言的强大性能和并发特性,为用户提供高效且稳定的定时任务执行环境。 ### 1. ...

    Go-go-getter-一个Go库用于从各种来源使用URL下载文件或目录

    【描述】"go-getter -一个 Go库用于从各种来源使用URL下载文件或目录" Go-getter库的核心功能是提供一个统一的API,无论文件或目录位于何处,都可以通过URL进行下载。这极大地简化了代码,避免了针对不同协议编写...

    一个简单的多任务内核实例/Linux-0.00

    【标题】"一个简单的多任务内核实例/Linux-0.00" 提示我们讨论的是早期Linux操作系统的一个版本,它展示了如何实现多任务处理。在操作系统设计中,多任务是核心功能之一,允许系统同时执行多个程序,提高资源利用率...

    Android-lite-job分布式任务调度系统

    lite-job 是一个轻量级的分布式任务调度系统,特别适合于微服务架构中的任务调度需求。这个系统的设计目标是简单易用、高可用和可扩展。在Android开发中,它作为一个Android Studio插件,可以方便地帮助开发者进行...

    基于xxl-job的调度任务服务.zip

    在这个基于"XXL-Job的调度任务服务.zip"的课程设计中,我们可以深入学习到如何使用Java实现一个分布式任务调度系统。以下是关于XXL-Job和相关Java技术的知识点详解: 1. **XXL-Job核心概念** - **Job执行器...

    一个简单地文件管理系统,实现了文件的上传、下载、移动等功能

    一个简单地文件管理系统,实现了文件的上传、下载、移动等功能,支持大部分类型文件的预览,支持视频浏览,音乐播放等。。。一个个人文件管理系统的源码脚手架,r-pan基于此脚手架搭建,版本更新内容(更换了前端...

    xxl-job-2.4.0定时任务框架Oracle版本

    XXL-JOB是一个分布式任务调度平台,它提供了简单易用的API和Web界面,使得开发者能够轻松地实现任务的分布式调度。XXL-JOB 2.4.0是该框架的一个重要版本,针对Oracle数据库进行了SQL语法的整改,以更好地支持在...

    通过Objective-c实现简易待办事项管理器

    压缩包中文件是通过Object-C语言实现的一个简易的待办事项(To-Do List)管理器,这个管理器将允许用户添加、查看和删除待办事项。 代码解释 1、ToDoList 类 tasks 属性:一个可变数组,用于存储待办事项。 addTask:...

    dotnet-GoferNET一个NETCore的简单分布式任务作业

    Gofer.NET是一个基于.NET Core构建的简单分布式任务作业系统,主要设计用于.NET开发环境中的作业调度和任务分发。在当今的微服务架构中,任务调度和分布式作业处理是不可或缺的一部分,它们能够帮助开发者实现复杂的...

    taskPHP--基于php开发的定时计划任务框架.zip

    任务派发及具体任务执行不在同个进程[distribute_listen.php]和[worker_listen.php],windows和linux下启用入口文件[main.php],windows下可运行[windows_single.cmd]快速启动。 执行时间语法跟crontab类似,且支持秒...

    linux-mask由简单的markdown文件定义的CLI任务运行器

    【描述】Linux-mask是一个创新的命令行工具,它允许用户通过简单的Markdown格式定义和执行一系列的任务。这种设计思路旨在提高开发者和系统管理员的工作效率,使得复杂的自动化流程可以更加直观、易读且易于维护。 ...

    RF-SJ-LC-01-F05 设计任务单及成果确认单(1).zip

    首先,这个文件的命名中包含的信息相当丰富,它不仅仅是一个简单的数据包,而是代表了一系列的项目管理活动。每一个缩写和编号都有其特定的含义,指示了文件的性质和它所关联的项目阶段。"RF"代表了需求的提出,可能...

    Q-Dir多窗口文件管理器

    使用Windows自带的资源管理器就需要打开几个不同的窗口来实现操作,而 Q-Dir 是专门应对简化这个功能而诞生的超方便资源管理器,它在一个窗口分成4个页面,在多个文件夹中转移文件时候就无需频繁点击任务栏来实现...

Global site tag (gtag.js) - Google Analytics