Day5:文件处理

Posted 互联网杂货店

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day5:文件处理相关的知识,希望对你有一定的参考价值。

1、文件模式

r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+:打开一个文件用于读写。文件指针将会放在文件的开头。

rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

2、文件的创建访问

# -*- coding: UTF-8 -*-

# 打开一个文件
fo = open("foo.txt",'wb')
print("文件名: ", fo.name)
print("是否已关闭 : ", fo.closed)
print("访问模式 : ", fo.mode)
# 写入文件
str="www.baidu.com \\n  have a  good day!\\n"
# python3和Python2在套接字返回值解码上有区别
# 解决办法非常的简单,只需要用上python的bytes和str两种类型转换的函数encode()、decode()
# str通过encode()
# 方法可以编码为指定的bytes;
# 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()
str = str.encode()
fo.write(str)
# 关闭打开的文件
fo.close()
print("是否已关闭 : ", fo.closed)
# 读取
f = open('foo.txt', 'r', encoding='utf-8')
data = f.read()
print(data)

文件名:  foo.txt
是否已关闭 :  False
访问模式 :  wb
是否已关闭 :  True
www.baidu.com 
  have a  good day!

3、文件指针

# # 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10)
print("读取的字符串是 : ", str)

# 查找当前位置
position = fo.tell()
print("当前文件位置 : ", position)

# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
print("重新读取字符串 : ", str)
# 关闭打开的文件
fo.close()

读取的字符串是 :  www.baidu.
当前文件位置 :  10
重新读取字符串 :  www.baidu.

4、文件io

import os

# 重命名文件foo.txt到test.txt。
os.rename( "foo.txt", "test.txt" )

# 删除一个已经存在的文件test.txt
os.remove("test.txt")

# 创建目录test
os.mkdir("test")
# 删除”/tmp/test”目录
os.rmdir("/home/tmp/test")

# 获取当前路径
print(os.getcwd())

以上是关于Day5:文件处理的主要内容,如果未能解决你的问题,请参考以下文章

day5,模块

LeetCode刷题笔记-动态规划-day5

LeetCode刷题笔记-动态规划-day5

LeetCode刷题笔记-动态规划-day5

初学python之day5

python学习 day5