文件用于永久存储数据。文件处理是对这些文件执行各种操作(读取、写入、删除、更新等)。在 Python 中, 文件处理 过程按以下步骤进行:
打开文件
执行操作
关闭文件
有四种基本模式可以打开文件——读取、写入、追加和独占创建。此外,Python 允许您指定处理文件的两种模式——二进制和文本。二进制模式用于处理图像文件和可执行文件等各种非文本数据。
Python 以字节的形式将文件存储在磁盘上。因此,当以文本模式打开文件时,这些文件会从字节解码以返回字符串对象。而以二进制模式打开的文件将内容作为字节对象(单个字节的序列)返回,而无需任何解码。让我们看看如何在 Python 中将字节写入文件。
首先以二进制写入方式打开一个文件,然后以字节的形式指定要写入的内容。接下来,使用 write 函数将字节内容写入二进制文件。
Python3实现
some_bytes = b'xC3xA9' # Open in "wb" mode to # write a new file, or # "ab" mode to append with open("my_file.txt", "wb") as binary_file: # Write bytes to file binary_file.write(some_bytes)
输出:
我的文件.txt 在上面的例子中,我们以二进制写入模式打开一个文件,然后将一些字节内容作为字节写入二进制文件中。 另外,open() 和 close() 可以显式调用,如下所示。但是,这种方法需要您自己进行错误处理,即确保文件始终处于关闭状态,即使在写入过程中出现错误也是如此。因此,在这方面使用“with”语句会更好,因为它会在块结束时自动关闭文件。 Python3实现 some_bytes = b'x21' # Open file in binary write mode binary_file = open("my_file.txt", "wb") # Write bytes to file binary_file.write(some_bytes) # Close file binary_file.close()
输出:
我的文件.txt 另外,some_bytes 可以是可变的字节数组形式,也可以是不可变的字节对象,如下所示。 Python3实现 # Create bytearray # (sequence of values in # the range 0-255 in binary form) # ASCII for A,B,C,D byte_arr = [65,66,67,68] some_bytes = bytearray(byte_arr) # Bytearray allows modification # ASCII for exclamation mark some_bytes.append(33) # Bytearray can be cast to bytes immutable_bytes = bytes(some_bytes) # Write bytes to file with open("my_file.txt", "wb") as binary_file: binary_file.write(immutable_bytes)
输出:
我的文件.txt