美文网首页
10-文件的操作

10-文件的操作

作者: 努力爬行中的蜗牛 | 来源:发表于2018-10-30 18:30 被阅读1次
文本文件和二进制文件

文本文件可以使用文本编辑器查看,本质还是二进制文件。
二进制文件保存的文件不是给人直接阅读的,而是提供给其他软件使用的,如图片,音频,视频。

文件的基本操作
  • 打开文件
  • 读写文件
  • 关闭文件
操作文件的操作函数
函数名/方法 描述
open 打开文件,并且返回文件对象
read 读取文件内容到内存
write 将制定内容写入文件
close 关闭文件
read方法-读取文件

open函数的第一个参数是要打开的文件名

  • 如果文件存在,则返回文件操作对象
  • 如果文件不存在,则抛出异常

read可以一次性读取文件所有内容。
close方法负责关闭文件。
如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的操作

# 打开文件
file = open("README")

# 读取文件
text = file.read()
print(text)

# 关闭文件
file.close()
文件指针
  • 文件指针标记从哪个位置读取文件
  • 第一次打开文件时,通常文件指针会指向文件开始的位置
  • 当执行了read方法后,文件指针会移动到文件末尾(默认情况下会移动到文件末尾)
# 打开文件
file = open("README")

# 读取文件
text = file.read()
print(text)

print("-" * 50)

text = file.read()
print(text)

# 关闭文件
file.close()
打开文件的方式

open函数默认以只读方式打开文件。

语法:
f = open("文件名","打开方式")
访问方式 描述
r 以只读方式打开文件,文件指针默认会指向文件的开始位置。
w 以只写方式打开文件,如果文件存在会被覆盖,如果不存在,会创建新的文件
a 以追加方式打开文件,如果文件存在,则文件指针会指向文件末尾,如果不存在,会创建新文件进行写入
r+ 以读写方式打开文件,文件指针会指向文件的开始位置, 如果文件不存在,会抛出异常
w+ 以读写方式打开文件,如果文件存在会被覆盖,如果不存在,会创建新的文件
a+ 以读写方式打开文件,如果文件存在,则文件指针会指向文件末尾,如果不存在,会创建新文件进行写入
# 打开文件
file = open("README", "a")
# file = open("README", "w")

# 写入文件
file.write("python")

# 关闭文件
file.close()
按行读取文件内容

readline方法

  • readlie一次只能读取文件一行内容
  • 方法执行后,文件指针会移动到下一行,准备再次读取
# 打开文件
file = open("README")

# 读取文件一行内容
while True:
    text = file.readline()
    # 判断是否读取到内容
    if not text:
        break  
    print(text)
    
# 关闭文件
file.close()
小文件复制
# 打开文件
file_read = open("README")
file_write = open("README_COPY", "w")

# 读写
text = file_read.read()
file_write.write(text)

# 关闭文件
file_read.close()
file_write.close()
大文件复制
# 打开文件
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()
文件或目录常见的管理操作

在python中,如果希望通过程序实现以上功能,需要导入os模块

In [1]: import os                                                               
                                                                      
In [2]: os.rename("hello.text", "123.txt")                                      

In [3]: ls                                                                      
123.txt          Downloads/       Music/           hotger/
Applications/    GitBook/         Pictures/        software/
Desktop/         Library/         Public/          study/
Documents/       Movies/          PycharmProjects/ zyx/

In [4]: os.remove("123.txt")                                                    

In [5]: ls                                                                      
Applications/    GitBook/         Pictures/        software/
Desktop/         Library/         Public/          study/
Documents/       Movies/          PycharmProjects/ zyx/
Downloads/       Music/           hotger/
文本文件的编码方式ASCII和UTF8

ASCII编码

  • 计算机中有256个字符
  • 一个ASCII在内存中占用一个字节的空间
    8个0/1的排列组合方式一共有256种,即2 ** 8

UTF8编码方式

  • 计算机中使用1-6个字节来表示一个UTF8字符,涵盖了地球上几乎所有的文字。
  • 大多数汉字会使用3个字节来表示。
  • UTF8是Unicode的编码一种。

python2.x默认使用的ASCII编码
python3.x默认使用的UTF8编码

在python2.x中使用中文
# *-* coding:utf8 *-*
hello_str = "hello 世界"
print(hello_str)

unicode字符串

  • 在python2.x中,即使指定使用utf8编码格式,但是在遍历字符串时,仍然会以字节为单位遍历字符串
  • 要能够正确遍历字符串,在定义字符串时,需要在字符串的引号前,加一个小写字符u,告诉解释器这是一个unicode字符串编码格式
# *-* coding:utf8 *-*

# 引号前面的u告诉解释器这是一个utf8编码格式的字符串
hello_str = u"hello 世界"
print(hello_str)

for c in hello_str:
    print(c)
eval函数

eval()函数十分强大,将字符串变成有效的表达式来求值,并返回计算结果。
注意:不要直接转换input结果

input_str = input("请输入算术题:")

print(eval(input_str))

相关文章

  • 10-文件的操作

    文本文件和二进制文件 文本文件可以使用文本编辑器查看,本质还是二进制文件。二进制文件保存的文件不是给人直接阅读的,...

  • python基础-10-文件操作

    1.文件的输入输出 2.异常语法

  • PHP基础10-操作文件目录

    操作目录 1.目录操作概述: 例如,百度网盘(http://pan.baidu.com) ,就是经典的网页版文件管...

  • 文件操作

    文件操作 目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思...

  • Android API version 10->23+

    Android API version 10->23+ Android API version 10->23+

  • 文件

    目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思考:什么是...

  • 文件和目录处理相关

    文件和目录处理相关 题: 考点:文件操作/写入操作; 延伸:目录操作函数,其他文件操作; 文件读写操作 文件系统函...

  • 09-文件操作

    一、文件操作流程 a.普通文件操作流程: 打开文件 操作文件 关闭文件 b. json文件操作流程: open(文...

  • VBS文件操作

    VBS文件操作'操作文本文件,操作fso对象(文件对象操作) --------------------------...

  • 博学谷第十天

    时间:2020年1月4日内容:文件操作 文件操作 目标 文件操作的作用 文件的基本操作(打开、读写、关闭) 文件备...

网友评论

      本文标题:10-文件的操作

      本文链接:https://www.haomeiwen.com/subject/hzfntqtx.html