网站怎么做定位功能,建筑工程网上申报,电商货源网站,安徽 电子政务网站定制最近得以空闲#xff0c;然后继续学习py。 学习一下py中最频繁用到的文件读写的方法。
在py中#xff0c;操作是通过文件对象【File obj】实现的#xff0c;通过文件对象可以读写文本文件和一些二进制文件。
1.打开文件
使用Python中的open函数。有8个参数#xff0c;但…最近得以空闲然后继续学习py。 学习一下py中最频繁用到的文件读写的方法。
在py中操作是通过文件对象【File obj】实现的通过文件对象可以读写文本文件和一些二进制文件。
1.打开文件
使用Python中的open函数。有8个参数但是我们常用的就2个足够了。
# 使用所有参数打开文件
with open(example.txt, moder, buffering1, encodingutf-8, errorsignore, newline\n, closefdTrue, openerNone) as f:# 读取文件内容content f.read()print(content)
file参数 如果是字符串则代表的是文件名字文件名字可以是相对当前目录的路径也可以是绝对路径如果是一个整数则代表文件描述符文件描述符指向一个打开的文件。mode参数
下面是常用的文件打开模式 只读模式 (r) 描述以只读模式打开文件。文件指针将会放在文件的开头。如果文件不存在会抛出 FileNotFoundError 异常。示例open(filename.txt, r) 写入模式 (w) 描述以写入模式打开文件。文件指针会放在文件的开头。如果文件不存在会创建一个新文件。如果文件存在会截断文件即清空文件内容。示例open(filename.txt, w) 追加模式 (a) 描述以追加模式打开文件。文件指针会放在文件的末尾。如果文件不存在会创建一个新文件。如果文件存在写入的数据将会追加到文件的末尾。示例open(filename.txt, a) 读写模式 (r) 描述以读写模式打开文件。文件指针会放在文件的开头。如果文件不存在会抛出 FileNotFoundError 异常。示例open(filename.txt, r) 写入读模式 (w) 描述以写入读模式打开文件。文件指针会放在文件的开头。如果文件不存在会创建一个新文件。如果文件存在会截断文件。示例open(filename.txt, w) 追加读模式 (a) 描述以追加读模式打开文件。文件指针会放在文件的末尾。如果文件不存在会创建一个新文件。如果文件存在写入的数据将会追加到文件的末尾。可以进行读写操作。示例open(filename.txt, a) 二进制模式 (b) 描述以二进制模式打开文件。可以与上述模式组合使用例如 rb、wb、ab、rb 等。用于读取或写入二进制文件如图片、音频等。示例open(filename.bin, rb) 文本模式 (t) 描述以文本模式打开文件。默认模式可以与上述模式组合使用例如 rt、wt、at、rt 等。用于读取或写入文本文件。示例open(filename.txt, rt)
示例代码
以下是一些打开文件的示例代码
# 以只读模式打开文本文件
with open(example.txt, r, encodingutf-8) as f:content f.read()# 以写入模式打开文本文件
with open(example.txt, w, encodingutf-8) as f:f.write(Hello, World!)# 以追加模式打开文本文件
with open(example.txt, a, encodingutf-8) as f:f.write(Appending some text.)# 以二进制模式打开文件
with open(example.bin, rb) as f:binary_content f.read()# 以读写模式打开文件
with open(example.txt, r, encodingutf-8) as f:f.write(Read and write.)f.seek(0)content f.read()2.关闭文件
当使用了open打开文件之后要记得写关闭文件否则会抛异常。
常规就是调用一次open然后尾部写一下close。
但是一般情况下文件的操作往往会抛出异常为了保证文件的操作无论正常结束还是异常结束都能够关闭文件使用with as 代码块来进行自动资源管理。
import unittestclass MyTestCase(unittest.TestCase):def test_something(self):# self.assertEqual(True, False) # add assertion here# print(hello world)fobj open(test.txt, w,encodingutf-8)fobj.write(hello world)fobj.close()with open(test.txt, a,encodingutf-8) as f:f.write(\n大家好~)if __name__ __main__:unittest.main()
这样子执行的话就是创建了一个文件往里面写入了一句话。
注意
文件有编码的需要指定用完要关闭