python3 文件操作

文件对象:

 with open(‘/etc/hosts‘) as f:
 这样打开文件不用使用X.close()手动关闭文件,使用with打开文件,在文件使用结结束后会自动关闭。

r  以读方式打开(文件不存在则报错)
w 以写方式打开(文件存在则清空,不存在则创建)
a 以追加方式打开(必要时创建新文件)

r+ 以读写方式打开
w+ 以读写方式打开
a+ 以读写方式打开
open、file打开文件,一般用open
read读
readline读一行
readlines 读全部

文件写入:

>> file = open(‘/tmp/123.txt‘, ‘w‘) #以写方式打开文件
>> file.write(‘123456‘) #写入字符串
6
>> file.write(‘\n‘) #写入回车,默认是没有回车的
1
>> file.close() #关闭文件

文件指针:
文件内移动:
    seek(offset[,whence]) :移动文件指针到不同的位置
    offset是相对于某个位置的偏移量
    whence的值,0表示文件开头,1表示当前位置,2表示文件的结尾

tell():返回当前文件指针的位置

    python2中支持从直接将文件指针移动到倒数第三个字符,
    >>> f = open(‘/etc/hosts‘)
    >>> f.tell()  #查看当前文件指针的位置
    0
    >>> f.seek(-3, 2)  #将文件指针移动到倒数第三个字符,-3代表偏移量,2代表文件末尾
    >>> f.read()
    ‘n6\n‘

    python3中文件打开方式必需以N + b的方式打开,才可以使用指针从后往前移动
    >>> f = open(‘/opt/hosts‘, ‘rb‘)
    >>> f.tell()
    0
    >>> f.seek(-3,2)
    155
    >>> f.read()
    b‘n6\n‘

            适用与日志按时间节点截取的场景:
            一点文件写入123数据到azj文件,
            读取文件最后的文件指针位置到end当中,将文件内容读取到data中。

        两点文件写入456数据到azj文件,
            将文件指针移动到文件2点的位置并将文件指针位置赋值给b,
            读取1点到2点之间的文件内容:
                >>> data2 = f.read(b - end)     #读取文件上次结束位置到第二次结束位置的内容
                >>> data2
                ‘456\n‘

        三点文件写入789数据到azj文件。
            此时文件指针在文件2点时的位置,将剩余文件内容读取到data3中:
                >>> data3 = f.read()            #读取文件剩余的内容
                >>> data3
                ‘789\n‘

    >>> f = open(‘/tmp/azj.txt‘)   #首先输入123到azj。文件中
    >>> f.seek(0, 2)                #把文件指针移动到行尾
    4
    >>> end = f.tell()              #把文件指针位置赋值
    >>> f.seek(0, 0)                #文件指针返回开头位置
    0
    >>> data = f.read(end)          #读取文件开头到刚才行尾文件指针的文件内容
    >>> data
    ‘123\n‘
    >>> f.seek(0, 2)                #写入456到azj文件,将文件指针移动到文件末尾
    8
    >>> b = f.tell()                #将文件指针位置赋值
    >>> f.seek(end, 0)              #将文件指针移动到上次结束位置
    4

    写入789到azj文件
    >>> data2 = f.read(b - end)     #读取文件上次结束位置到第二次结束位置的内容
    >>> data2
    ‘456\n‘
    >>> data3 = f.read()            #读取文件剩余的内容
    >>> data3
    ‘789\n‘

文件写入:
    以r+的方式打开文件时,写入文件是以覆盖的形式写入。

 标准文件:
        程序一执行,就可以访问三个标准文件
        标准输入:一般是键盘,使用sys.stdin
        sys.stdin.<两次TAB键>
        >>> sys.stdin.readline()
        asdf
        ‘asdf\n‘  #和input差不多,区别是会读取到回车的动作

    标准输出:一般是显示器缓冲输出,使用sys.stdout
        sys.stdout.<两次TAB键>
        >>> sys.stdout.write(‘12344‘)
        123445          #返回12344字符串并返回字符串的长度5
        >>> sys.stdout.writelines(‘123‘)
        123>>>          #返回字符串本身,没有回车
    标准错误:一般是显示器的非缓冲输出,使用sys.stderr
        sys.stdeer.<两次TAB键>
        >>> sys.stderr.writelines(‘123‘)    #标准错误输出
        123>>> 

原文地址:http://blog.51cto.com/13399699/2128420

时间: 2024-10-08 13:19:27

python3 文件操作的相关文章

python3文件操作

文件操作流程 1.打开文件 f = open('hello.txt', 'r') # 以相应的模式打开文件'hello.txt' 'r' 读模式,不可写 'w' 写模式,不可读;如果文件不存在,则创建文件; 如果文件存在,则清空文件里的内容,并从头开始写入新内容 'a' 写模式,不可读;如果文件不存在,则创建文件;如果文件存在,则在文件末尾写入新内容 'r+' 读写模式,可读写;可读光标位置在0;当要写入内容时,在文件末尾添加 'w+' 写读模式,可读写;如果文件不存在,则创建文件; 如果文件存

【Python规范】Python3文件操作

注意:open之后,记得使用close关闭文件 使用方法:open(路径+文件名,读入模式,缓存区) 参数: r 只能读 r+ 可读可写 不会创建不存在的文件 从顶部开始写 会覆盖之前此位置的内容 w+ 可读可写 如果文件存在 则覆盖整个文件不存在则创建 w 只能写 覆盖整个文件 不存在则创建 a 只能写 从文件底部添加内容 不存在则创建 a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建 常用代码: with open("x.txt") as f: data = f

Python培训知识总结系列- 第三章 Python3文件操作(一)

open 123456789f = open('filename','r') # 读模式f = open('filename','w') # 写模式f = open('filename','a') # 追加模式 注:rb 是以二进制读取现在你觉得没用对吧,我也这么觉得...but在以后用到socket的时候,传输文件,读取和写入用的都是二进制形式rb和wb可以更快速的进行文件的传输 读取内容方式 f.read() # 一次读取整个文件,文件大不适用f.readline() # 一次只读取一行,占

python-day3 文件操作

----python3文件操作 #读取, 就不能写,  写就报错 F=open('a.txt',mode='r',encoding='utf-8') data=F.read() print (data) F.close() mode=r+ -->读 和写 ,没有 这个文件 报错 data1=F.readline() print (data1) -->打印第一行 data2=F.readlines() print (data2) -->将内容打印成列表,已换行分割 print (F.rea

Python3 对文件操作

计算机文件 在计算机系统中,以硬盘为载体存储在计算机上的信息集合称为文件.文件可以是文本文档.图片.声音.程序等多种类型.在编程时经常要对文件进行读写等操作, 从程序员的视角可以把文件理解为是连续的字节序列,进行数据传输需要使用字节流, 字节流可以是由单个字节或大块数据组成.文件类型通常分为文本文件和二进制文件. 文件操作 在 Python中对文件进行操作分为3个步骤,首先要打开文件,然后是对文件进行读写操作,最后需要关闭文件. 打开文件---open函数 你必须先用Python内置的open(

【python3之文件操作】

一.文件操作 1.文件处理的流程 1)打开文件,得到文件句柄并赋值给一个变量 2)通过句柄对文件进行操作 3)关闭文件 例如: f = open('chenli.txt') #打开文件 first_line = f.readline() print('first line:',first_line) #读一行 data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印读取内容 f.close() #关闭文件 2.文件操作基本用法 1)基本用法: file

python3.0 第三天 文件操作

文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the most destructive kind 不知为何,我经历的爱情总是最具毁灭性的的那种 Yesterday when I was young 昨日当我年少轻狂 The taste of life was sweet 生命的滋味是甜的 As rain upon my tongue 就如舌

python3的一些文件操作的脚手架

用python把原来的脚本重构了一下,其中写了文件操作的一些函数,如下: import os import shutil import hashlib import stat #查找文件夹中的某个文件 def findMyFileDir(dirPath, findFile): files = [] dirs = [] for root, dirs, files in os.walk(dirPath, topdown=False): for file in files: if file == fi

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是