美文网首页
Exceptions & Files(四)

Exceptions & Files(四)

作者: sssrx | 来源:发表于2018-01-23 13:08 被阅读0次
  1. 文件的打开与关闭
  • 文件的打开
    python中打开文件使用open("路径/filename.txt")函数,括号中写文件路径及名称,文件与程序位于同一目录中,则只能指定其名称,例如:

myfile = open("filename.txt")

  • 可以向open函数添加第二个参数来指定打开文件的模式:
    添加“r”表示在读取模式下打开,这是默认设置;
    添加“w”表示写入模式,用于重写文件的内容;
    添加“a”表示追加模式,用于将新内容添加到文件末尾;
    添加“b”表示将以二进制模式打开它,该模式用于非文本文件(如图像和声音文件)。例如:

#write mode
open("filename.txt", "w")
#read mode
open("filename.txt", "r")
open("filename.txt")
#binary write mode
open("filename.txt", "wb")

  • 文件的关闭
    在对一个文件打开、操作完成后,需要用close函数关闭文件,例如:

file = open("filename.txt", "w")
#do stuff to the file
file.close()

  1. 文件的读取
  • 使用open函数打开文件后,可用read函数读取文件中的内容,例如:

file = open("filename.txt", "r")
cont = file.read()
print(cont)
file.close()

结果将输出文件名为filename中的全部内容。

  • 读取文件中部分内容
    要只读取一定数量的文件,可以提供一个数字作为读取函数的参数,这决定了应读取的字节数,没有参数则只读返回文件的其余部分。例如:

file = open("filename.txt", "r")
print(file.read(16))
print(file.read(4))
print(file.read(4))
print(file.read())
file.close()

  • 在读取完文件中的所有内容之后,如果试图从该文件进一步读取内容,将会返回一个空字符串,因为这正从文件末尾进行读取,例如:

file = open("filename.txt", "r")
file.read()
print("Re-reading")
print(file.read())
print("Finished")
file.close()

输出结果为:

Re-reading
Finished

  • 要检索文件中的每一行,可以使用readlines方法返回一个列表,其中每个元素是文件中的一行,例如:

file = open("filename.txt", "r")
print(file.readlines())
file.close()

输出结果为:

['Line 1 text \n', 'Line 2 text \n', 'Line 3 text']

也可以使用for循环迭代读取:

file = open("filename.txt", "r")
for line in file:
print(line)
file.close()

输出结果为:

Line 1 text
Line 2 text
Line 3 text

  1. 数据的写入
  • 使用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表示写入,但如果该文件不存在,也会新建该文件,输出结果为:

This has been written to a file

  • 如果以写入模式打开文件,则该文件内的数据将被删除,例如:

file = open("newfile.txt", "r")
print("Reading initial contents")
print(file.read())
print("Finished")
file.close()

file = open("newfile.txt", "w")
file.write("Some new text")
file.close()
file = open("newfile.txt", "r")
print("Reading new contents")
print(file.read())
print("Finished")
file.close()

输出结果为:

Reading initial contents
some initial text
Finished
Reading new contents
Some new text
Finished

  • write方法返回字符的数量,例如:

msg = "Hello world!"
file = open("newfile.txt", "w")
amount_written = file.write(msg)
print(amount_written)
file.close()

输出结果为:

12

  • 为了保证文件使用完毕后被彻底关闭,避免浪费内存资源,可用一下代码保证文件被彻底关闭:

try:
f = open("filename.txt")
print(f.read())
finally:
f.close()

  • 还可使用with语句关闭文件,with语句结束后文件即被关闭:

with open("filename.txt") as f:
print(f.read())

相关文章

网友评论

      本文标题:Exceptions & Files(四)

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