python读写文件

发布时间 2023-10-25 11:56:08作者: Jedi_Pz

open()

  • 使用open()函数可以创建或打开文件并返回一个文件对象,其函数格式如下:
    • fileobj = open(filename, mode)
      其中:
    • fileobj:open()返回的文件对象。
    • filename:该文件的字符串名。
    • mode:指明文件类型和操作的字符串。
      • mode的第一个字母表明对其的操作,具体值如下。
        • r:表示读模式。read
        • w:表示写模式。文件不存在则新建,如果存在则重写. write
        • x:表示在文件不存在的情况下新创建并写文件。
        • a:表示如果文件存在,在文件末尾追加写内容。append
      • mode 的第二个字母是文件类型,具体值如下。
        • t:代表为文本文件。text
        • b:代表为二进制文件。binary

write()

  • 使用write(str)函数可以将其参数str中的内容写入文件中。
    创建名为“relativity”新文件,并将一首诗写入该文件。
    参考程序如下:
    poem = '''There was a young lady named Bright,
    ... Whose speed was far faster than light;
    ... She started one day
    ... In a relative way,     
    ... And returned on the previous night.'''
    fout = open(‘relativity.txt', 'wt')
    fout.write(poem)
    fout.close()
    

read()

  • 使用不带参数的read()函数可以一次读入文件的所有内容。
    用read()方法读relativity.txt,并输出长度。
    参考程序如下:
    with open('relativity.txt', 
    			='rt', encoding = 'utf-8') as fin:
    	poem = fin.read()
    print(len(poem))
    # 结果是150,说明读完了整个文件
    

readline()

  • 使用readline()每次读入文件的一行,循环使用readline()拼接成原来的字符串。
    用read()方法读relativity.txt,并输出长度。
    参考程序如下:
    poem=''
    with open('relativity','rt') as fin:
    	while True:
    	  line = fin.readline()
    	  if not line:
    	     break
    	  poem += line
    print(len(poem))
    # 结果是150,说明读完了整个文件
    
    • 对于一个文本文件,即使空行,也有1字符长度(换行字符'\n'),因此也会返回True。当文件读取结束后,readline()与read()都会返回空字符串,被while循环判为False。

close()

  • close()方法负责关闭文件,如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问。 fileobj.close()
  • with可以自动close