公司网站建设多少费用济南兴田德润评价,网站受到攻击 怎么做攻击的,企业网站推广的名词解释,建设一个展示商品的网站学完了Python当中的数据类型#xff0c;下一步我们来了解如何用Python语言打开文件并添加内容。
目录
file
mode
buffering
encoding
errors
newline
closefd
opener
函数 打开文件需要用到open函数#xff0c;完整的语法格式如下所示#xff0c;为了演示方便下一步我们来了解如何用Python语言打开文件并添加内容。
目录
file
mode
buffering
encoding
errors
newline
closefd
opener
函数 打开文件需要用到open函数完整的语法格式如下所示为了演示方便我在Python文件的目录中添加了“word_work.txt”文件内容节选了马克思《青年在选择职业时的考虑》中的一段话。
fp open(word_work.txt, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)
file: 文件路径这里由于文件在同一目录下使用了相对路径
mode: 文件打开模式r代表只读模式
buffering: 设置缓冲缓冲区是为了避免多次进行系统调用减少时间浪费
encoding: 文件格式一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器开启器的返回值必须是一个打开的文件描述符。
print(fp.read())
# 用read函数查看文件内容
fp.close()
# 打开文件后要记得关闭不然会占用内存资源 If we have chosen the position in life in which
we can most of all work for mankind, no burdens
can bow us down, because they are sacrifices
for the benefit of all; then we shall experience
no petty, limited, selfish joy, but our happiness
will belong to millions, our deeds will live on
quietly but perpetually at work, and over our
ashes will be shed the hot tears of noble people. 下面对每一个参数进行讲解。
file
可以使用绝对路径和相对路径是用于指定文件或目录位置的两种方式。
绝对路径是一个完整的文件或目录的路径从文件系统的根目录开始一直到目标文件或目录的路径可以唯一确定一个文件或目录的位置。它通常以根目录如Windows中的C:\作为起始点然后按照目录结构逐级指定直到目标文件或目录。
相对路径是相对于当前工作目录或当前文件所在目录的路径。它不是一个完整的路径而是通过参照当前位置与目标位置之间的相对关系来确定目标文件或目录的位置。相对路径可以使用特定的符号表示不同的位置关系如“.”表示当前目录“..”表示上级目录可以使用这些符号构建目标文件或目录的位置。
mode
t文本模式 (默认)。x新建文件b二进制模式打开文件进行更新可用来读取也可写入r以只读方式打开文件w打开文件用于写入。如果文件已存在则删除原有内容并从开头开始编辑如果不存在新建文件。a打开文件用于补充。如果文件已存在会写在已有内容之后如果不存在新建文件。
这几种模式还可以叠加比如rb就是二进制只读模式wb是二进制写入。还要注意修改后要使用close函数关闭文件再读取。
fp open(word_work.txt, modew)
fp.write(Karl Heinrich Marx)
fp.close()
fp open(word_work.txt, moder)
print(fp.read())
fp.close()
fp open(word_work.txt, moderb)
print(fp.read())
fp.close()
Karl Heinrich Marx
bKarl Heinrich Marx
而二进制格式主要用图片的存取。
输出的结果太长了这里只给大家展示一部分。
src_fileopen(Marx.jpg, rb)
# 以二进制格式使用只读模式
print(src_file.read())
src_file.close()b\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00H\x00H\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08\n\x0c\x14\r\x0c\x0b\x0b\x0c\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.\ ,#\x1c\x1c(7),01444\x1f\982.342\xff\xdb\x00C\x01\t\t\t\x0c\x0b\x0c\x18\r\r\x182!\x1c!22
我们还可以用flush函数立刻将缓冲区的数据写入文件中。
fp open(word_work.txt, modew)
fp.write(Karl\rHeinrich\rMarx)
fp.flush()
fp open(word_work.txt, moder)
print(fp.read())
fp.close()Karl
Heinrich
Marx
buffering
buffering用于指定缓冲策略表示使用特定大小的缓冲区其中buffering的值表示缓冲区的大小以字节为单位。数据会先存储在缓冲区中然后在满足一定条件时例如缓冲区满了或手动调用了flush方法才会写入文件或读取文件。它有三种可能的取值
1. bufferingNone默认情况下不进行缓冲数据会立即被写入文件或从文件读取。
2. buffering0表示关闭缓冲数据会立即被写入文件或从文件读取。
3.buffering1即行缓冲碰到一个换行符就进行一次系统调用
4. buffering1指定较大的缓冲区大小可以提高I/O性能特别是在处理大量数据时。需要注意数据并不是立即写入文件或读取文件的可能会导致文件的内容在写入之前不完整或者读取的内容不及时。
具体用法可以参考http://t.csdnimg.cn/YZitF
encoding
常用的编码方式包括UTF-8、GBK、ASCII等。不同的编码方式有不同的字符集范围和存储方式假如我们用UTF-8编写了文本而用GBK格式打开的话就有可能出现乱码。 errors
errors参数用于指定在读取或写入文件时遇到编码错误时的处理方式以下几种是常见的errors参数取值
- strict默认值表示遇到编码错误时抛出UnicodeError异常。 - ignore忽略遇到的编码错误直接跳过错误的字符。 - replace使用特殊的占位符通常是?代替无法解码的字符。 - xmlcharrefreplace使用XML字符引用如#xXXXX;代替无法解码的字符。 - backslashreplace使用反斜杠转义代替无法解码的字符。 - surrogateescape将无法解码的字符替换为Unicode转义序列使得它们可以在字符串中保留并在后续处理中恢复。
对于后面这几类参数我们只需要了解它们的原理在实际使用中等于None就可以了。
newline
newline参数用于控制文本文件的换行符的处理方式它有五种取值
None默认值表示不会对换行符进行任何处理。将\r和\n视为换行符且在读取或写入时统一使用\n作为换行符。\n将\r\n视为换行符且在读取或写入时统一使用\n作为换行符。\r将\n视为换行符且在读取或写入时统一使用\r作为换行符。\r\n将\r和\n视为换行符且在读取或写入时统一使用\r\n作为换行符。
fp open(word_work.txt, modew, newline)
fp.write(Karl\nHeinrich\nMarx)
fp.close()
fp open(word_work.txt, moder, encodingUTF-8)
print(fp.read())
fp.close()Karl
Heinrich
Marxclosefd
closefd参数用于指定是否在文件关闭时同时关闭底层的文件描述符。文件描述符是操作系统中用于跟踪和管理打开文件的一种机制在Python中当我们使用open函数打开一个文件时它会返回一个文件对象并分配一个文件描述符来跟踪该文件。
该参数默认值为True表示在文件关闭时同时关闭底层的文件描述符这样可以确保释放系统资源并避免文件描述符的泄漏。
如果要将参数设置为False则在文件关闭时不会关闭底层的文件描述符。这可以在以下情况下使用
当文件描述符被其他部分的代码引用或使用时可能不希望在open()函数关闭文件时关闭该文件描述符。当需要在文件关闭后继续对文件描述符进行操作时可以将closefd参数设置为False使得文件关闭后仍然可以对文件描述符进行操作。
opener
opener参数用于指定一个自定义的打开器来替代内置的打开器。打开器是一个函数其作用是根据给定的文件名和模式来打开文件并返回一个文件对象。不过该参数仅在Unix-like系统上受支持而在Windows系统上没有实际作用。在Windows系统上使用opener参数打开文件时会将其忽略并直接使用内置的打开器。
函数
这里补充了一些和文件读写有关的函数
tell函数返回文件的当前位置即文件指针当前位置实际上就是write函数写入内容的长度。
fp open(word_work.txt, modew)
fp.write(socialism)
print(fp.tell())
fp.close()9
readline函数用于从文件读取整行。
fp open(word_work.txt, moder)
print(fp.readline())
fp.close()If we have chosen the position in life in which 以上就是open方法的全部内容了谢谢大家。