10-文件的操作

2018-10-30  本文已影响1人  努力爬行中的蜗牛
文本文件和二进制文件

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

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

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

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

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

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

# 关闭文件
file.close()
文件指针
# 打开文件
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方法

# 打开文件
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编码

UTF8编码方式

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

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

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))
上一篇下一篇

猜你喜欢

热点阅读