Loading


Python操作文件

 

  • 文本文件是很容易操作的。在编辑文件之前,必须使用 open 函数打开文件。 
myfile = open("filename.txt")
  •   

    可以通过向 open 函数应用第二个参数来指定用于打开文件的模式。 

    参数 “r” 表示在读取模式下打开,这是默认设置。 

    参数“w”表示写入模式,用于重写文件的内容。 

    参数“a”表示追加模式,用于将新内容添加到文件末尾。 

     

    将“b”添加到某个模式中文件将以二进制模式打开它,该模式用于非文本文件(如图像和声音文件)。 

# 写模式
open("filename.txt", "w")

# 读模式
open("filename.txt", "r")
open("filename.txt")

# 二进制写入模式
open("filename.txt", "wb")
  •   文件被打开和使用后要记得关闭它。通过文件对象的 close 方法进行关闭。
file = open("filename.txt", "w")
# do stuff to the file
file.close()
  •   可以使用 read 方法读取以文本模式打开的文件的内容。 
file = open("filename.txt", "r")
cont = file.read()
print(cont)
file.close()
  •   如果只要读取文件一部分内容,你可以提供一个数字作为 read 方法的参数。决定要读取的字节数。 

    你可以进行多次调用来读取同一个文件对象,逐字节读取更多的内容。如果没有参数,read 返回文件的其余部分内容。 

file = open("filename.txt", "r")
print(file.read(16))
print(file.read(4))
print(file.read(4))
print(file.read())
file.close()
  •   要写入文件,请使用 write 方法,该方法将字符串写入文件。 
file = open("newfile.txt", "w")
file.write("This has been written to a file")
file.close()

file = open("newfile.txt", "r")
print(file.read())
file.close()
  •   当以写入("w")模式打开文件时,文件的现有内容会被删除。 
# -*- coding: UTF-8 -*-
file = open("newfile.txt", "r")
print("读取newfile.txt")
print(file.read())
print("===结束===")
file.close()

file = open("newfile.txt", "w")
file.write("写入一些新的内容")
file.close()

file = open("newfile.txt", "r")
print("再次读取newfile.txt")
print(file.read())
print("===结束===")
file.close()
  •   如果写入成功的话 write 方法返回写入文件的字节数。 
    msg = "Hello world!"
    file = open("newfile.txt", "w")
    amount_written = file.write(msg)
    print(amount_written)
    file.close()
    
  • 要确保文件在使用后始终关闭,避免浪费资源是一种好的做法。一个方法是使用 try 和 finally 。 
try:
   f = open("newfile.txt")
   print(f.read())
finally:
   print("即使发生错误,这可以确保文件始终关闭。")
   f.close()
  •   一个替代方法是使用语句。这将创建一个临时变量(通常称为f),该变量只能在 with 语句的缩进块中访问。 
with open("newfile.txt") as f:
   print(f.read())

  

posted on 2020-02-04 15:51  一氓  阅读(92)  评论(0编辑  收藏  举报