10-文件介绍

2023-04-06  本文已影响0人  飘摇的水草

文件操作的流程

文件操作

读文件

open (file, mode = 'r', encoding = None)

全部操作是

# 以只读的方式打开当前目录下的1.txt文件,文件不存在会报错
f = open("1.txt", 'r')
buff = f.read()
print (buff)

按字节读取

file1 = open("a.txt",'r')
buff = file1.read(3)
print buff
print ("*" * 30)
buff = file1.read(3)
print buff
file1.close()

程序运行结果如下所示:

读操作.png

按行读取

file2 = open("a.txt",'r')
# 一次读取一行的内容,返回的值是字符串
buff = file2.readline()
# 按行读取,一次读取所有行,返回值是列表,列表中的每一项是一个字符串,即每一行的内容
# buff = file2.readlines()
print buff

以行的形式读取大文件

file3 = open("a.txt", 'r')
while True:
   # 或者 file3.read(1024)的形式也可以
    buff = file3.readline()  
    if buff:
        print buff
    else:
        break

file3.close()
写文件
  1. 打开文件W方式打开文件,文件不存在会创建文件,如果文件存在,会覆盖原文件
file1 = open("a.txt","w", encoding = 'utf-8')
file1.write("Hello,World\n")
file1.write("Hello,Python")
file1.close()

注意:当使用UTF-8编码打开GBK编码的数据时会出现乱码,编码就是如何将中文汉字变为二进制,或者如何将二进制转换为汉字

文件的追加操作
file = open("a.txt", 'a')
file.write("hello world!")
file.close()
二进制操作文件
file4 = open("c.txt",'wb')
# 将字符串转化为二进制
file4.write("你好".encode())
file4.close()

file5 = open("c.txt",'rb')
buf = file4.read()
print buf
file5.close()
文件备份
  1. 用只读的方式打开文件
  2. 读取文件内容
  3. 关闭文件
  4. 只写的方式,打开新文件
  5. 将第 2 步读取的内容写入新文件
  6. 关闭新文件
file6 = open("a.txt",'r')
buff = file6.read()
file6.close()

file7 = open("d.txt",'w')
file7.write(buff)
file7.close()
文件和目录的操作

1. 文件重命名

格式:os.rename(原文件路径名,新文件路径名)

2. 删除文件

格式:os.remove("a.txt")

3. 创建目录

格式:os.mkdir(目录路径名)

4. 删除空目录

格式:os.rmdir(目录名)

5. 获取当前所在的目录

格式:os.getcwd()

6. 切换目录

格式:os.chdir()

7. 获取当前目录的内容

格式:os.listdir()

批量修改文件名
def createFiles():

    os.chdir("test")
    for i in range(10):
        fileName = str(i) + ".txt"
        print fileName
        f = open(fileName,'w')
        f.close()
    os.chdir("../")

createFiles()

先创建文件,再修改文件

def modifyFiles():
    path = os.chdir("test")
    buf_list = os.listdir()
    for i in buf_list:
        file_name = "py_" + i
        os.rename(i,file_name)

    os.chdir()

modifyFiles()
上一篇 下一篇

猜你喜欢

热点阅读