zoukankan      html  css  js  c++  java
  • Python文件的基本操作

    一、任务描述

      本实验任务主要对Python文件进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python文件的操作,并对Python文件的基本操作进行整理并填写工作任务报告。

    二、任务目标

    1、掌握Python文件的基本操作

    三、任务环境

    Ubuntu16.04、Python2.7

    四、任务分析

      在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。

     ♥ 温馨提示
    以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码。

    五、任务实施

    步骤1、环境准备

      右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。

      通过【cd /home】切换到home目录下。【ls】查看该目录下的所有内容。

    图1 切换目录

      【mkdir file】在home目录下创建file文件夹。

    图2 创建文件夹

    步骤2、输入输出

      打印到屏幕,最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式

    图3 输出语句

      raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符)

      回车后在请输入:后添加Hello World

    图4 输入语句

      input([prompt]) 函数和 raw_input([prompt]) 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。

    图5 输入语句

    步骤3、文件模式

      打开文件的模式有:

      r,只读模式(默认)。

      w,只写模式。【不可读;不存在则创建;存在则删除内容;】

      a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

      打开文件。

    图6 打开文件

      读文件。

    图7 读文件

      写文件。使用w时事实上是创建了一个新文件,如果源文件存在,会覆盖。

    图8 写文件

      重启终端执行【cat /home/soft/file/file2.txt】查看添加的信息

    图9 查看添加信息

      追加文件。

    图10 追加文件

      重启终端执行【cat /home/soft/file/file2.txt】查看追加的信息

    图11 查看追加信息

    步骤4、文件对象

      【readline()】读取的是文件的单行。

      【close()】关闭文件

      使用for循环读取3行。空格占一行。

    图12 读取单行

      【readlines()】会读取文件全部行,每行作为一个元素形成一个列表。readlines()因为会一下子把文件全部读取到内存,所以只适合读小文件。

    图13 读取全行

      【print f.tell()】读取光标所在位置

    图14 读取光标位置

      【f.seek(0) 】使光标回到原点

    图15 光标回归原点

      【f.fileno】获得文件描述符,是一个数字

    图16 文件描述符

      【f.name】获得文件的名字

    图17 文件名字

      【f.flush()】 刷新输出缓存

      说明:写入的内容是存放在电脑的缓存中的,只有flush了一下,才会保存到硬盘中去。

      刚写完一行内容,如果断电,他就没有写进去,断电内存中数据就会丢失。如果没有断电,数据还在内存的缓存中,需要刷新一下,才能写到硬盘中。

      内存有一个大小限制,需要达到这个大小,才会把内存缓存中的内容写到硬盘中。

    图18 刷新

      重启终端执行【cat /home/soft/file/file4.txt】查看截取的信息

    图19 截取信息

      打印进度条的小方法

      【sys.stdout.write(“#”)】 sys.stdout方法在同一行打印

      【sys.stdout.flush()】 每打印一个#符号写入一次

      【time.sleep(0.3)】 每打印一次隔0.3秒

    图20 打印进度条

      truncate() 截断文件,可以清空文件。

      【f.truncate(10)】 保留文件前10个字符,其余截断

    图21 截断文件
  • 相关阅读:
    面试java_后端面经_5
    头条后端面经_1面
    面试java后端面经_2
    java后端开发面经 数据库相关
    用友java后端开发面经
    面试java后端面经_4
    维恩贝特面试JAVA后台开发
    面试java后端面经_3
    世纪龙校招java开发一、二面 面经
    AndroidWebView使用
  • 原文地址:https://www.cnblogs.com/yu-1104/p/9050509.html
Copyright © 2011-2022 走看看