美文网首页
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