python-----文件

# _*_ coding:utf-8 _*_              
"""
file: 01.py
date: 2018-07_24 2:17 PM
desc:
操作文件的函数/方法
在python中要操作文件需要记住的一个函数和三个方法
    # python中一切皆对象
    open :打开文件,并且返回文件操作对象
    read :将文件内容读取到内存
    write :将指定内容写入内存
    close :关闭文件
open函数负责打开文件,并且返回文件对象
read/write/close三个方法都需要通过文件对象来调用

read方法---读取文件
open函数的第一个参数是要打开的文件名(文件名区分大小写)
    如果文件存在,返回文件操作对象
    如果文件不存在,会抛出异常
read方法可以一次性读入并返回文件的所有内容
close方法负责关闭文件
"""
# 新建一个文本,名为README,内写的是Hello Python
# 如果忘记关闭文件,会造成系统消耗,并影响后续 打开
# 1.打开文件
file = open('README')

# 2.操作文件 读/写
# read方法:读取文件内容(一次性返回文件所有内容)
text = file.read()
print text
# 3.关闭文件
# close方法:负责关闭文件
file.close()
# 在开发中,通常会先编写打开和关闭文件的代码

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 02.py
date: 2018-07_24 2:38 PM
desc:
"""
file = open('README')
text = file.read()
print text
print '@' * 50
# 第一次读取的时候,文件指针移动到了文件的末尾
# 再次调用不会读取到任何内容
text = file.read()
print text
file.close()

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 03.py
date: 2018-07_24 2:46 PM
desc:
文件指针:
    文件指针标记从哪个位置开始读取数据
    第一次打开文件时,通常文件指针会指向文件的开始位置
    当执行了read方法后,文件指针会移动到读取内容的末尾
"""
file = open('README')
text = file.read()
print text
# 打印输出内容的长度
print type(text)
print len(text)
print '*' * 50
text = file.read()
print text
print len(text)
file.close()

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 04.py
date: 2018-07_24 3:04 PM
desc:
"""
# 打开文件的方式:
# name = open('文件名','访问方式')
# 以写的方式打开文件,如果文件存在,会被覆盖,如果不存在,会创建
# 'w' 方式会覆盖文件内容
file = open('README','w')
file.write('rtyuioretyu')
file.close()

# 执行结果为  文件README内由Hello Python 变为 rtyuioretyu

这里写图片描述
这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 05.py
date: 2018-07_24 3:07 PM
desc:
"""
# 'a'方式会追加到文件后
# 如果该文件存在,文件指针会放在文件末尾
file = open('README','a')
file.write('rtyuioretyu')
file.close()

这里写图片描述
这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 06.py
date: 2018-07_24 3:18 PM
desc:
按行读取文件
    read方法默认会把文件的所有内容一次性读到内存
    如果文件太大,对内存占用会非常严重
readline方法
    readline方法可以一次性读取一行内容
    方法执行后,会把文件指针移动到下一行,准备再次读取
"""
# 读取大文件
file = open('README')
# 为什么要写成死循环:因为我们不知道要读取的文件有多少行
while True:
    text = file.readline()
    # 如果文件指针到文件的最后一行,那么就读不到内容了
    if not text:
        break
    # 每读取一行,末尾都已经有一个\n
    print text
file.close()

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 07.py
date: 2018-07_24 3:36 PM
desc:
"""
# 源文件以只读方式打开
file_read = open('README')
# 目标文件以写的方式打开
file_write = open('README_COPY','w')
# 从源文件中读取内容
text = file_read.read()
# 将读取到的内容写到目标文件中
file_write.write(text)
file_read.close()
file_write.close()


# 复制一个文件README_COPY

这里写图片描述
这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 08.py
date: 2018-07_24 3:50 PM
desc:
"""
file_read = open('README')
file_write = open('README_COPY','w')
# 读写
while True:
    text = file_read.readline()
    if not text:
        break
    file_write.write(text)
file_read.close()
file_write.close()

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 01.py
date: 2018-07_24 4:13 PM
desc:
关键字with在不需要访问文件后将其关闭,在这个程序中,
我们调用了open(),但没有调用close();你也可以调用open()和close来打开和关闭文件,
但这样做时,如果文件存在bug,导致close()语句没有执行,
文件将不会关闭,未妥善的关闭文件可能会导致数据丢失或受损
如果在程序中过早的调用close()
你会发现需要使用文件时他已经关闭(无法访问)
这会导致更多的错误,你并非在任何情况下都能轻松的确定关闭文件的恰当时机
通过with结构,可以让python去确定
你只要打开文件,并在需要时使用他
python会在适当的时候自动关闭他
"""
# 这是打开文件的另一种方式,执行效果与前面相同
with open('hello') as file_object:
    contents = file_object.read()
    print contents

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 02.py
date: 2018-07_24 4:15 PM
desc:
"""
# 打印一行追加空格
filename = 'hello'
with open(filename) as file_object:
    for line in file_object:
        print line

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 03.py
date: 2018-07_24 4:16 PM
desc:
"""
filename = 'hello'
with open(filename) as file_object:
    lines = file_object.readline()
for line in lines:
    print line

这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 04.py
date: 2018-07_24 4:18 PM
desc:
"""
filename = 'linux'
with open(filename,'w') as file_object:
    file_object.write('I love python.\n')
    file_object.write('I love linux.')

这里写图片描述
这里写图片描述

# _*_ coding:utf-8 _*_              
"""
file: 05.py
date: 2018-07_24 4:20 PM
desc:
关键字with在不需要访问文件后将其关闭,在这个程序中,
我们调用了open(),但没有调用close();你也可以调用open()和close来打开和关闭文件,
但这样做时,如果文件存在bug,导致close()语句没有执行,
文件将不会关闭,未妥善的关闭文件可能会导致数据丢失或受损
如果在程序中过早的调用close()
你会发现需要使用文件时他已经关闭(无法访问)
这会导致更多的错误,你并非在任何情况下都能轻松的确定关闭文件的恰当时机
通过with结构,可以让python去确定
你只要打开文件,并在需要时使用他
python会在适当的时候自动关闭他
"""
filename = 'linux'
with open(filename,'a') as file_object:
    file_object.write('I love python.\n')
    file_object.write('I love linux.')

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/awoyaoc/article/details/81214840