fileutils¶
文件实用工具。
1.8 版本中添加。
- oslo_utils.fileutils.compute_file_checksum(path, read_chunksize=65536, algorithm='sha256')¶
计算文件内容的校验和。
- 参数:
path – 文件路径
read_chunksize – 一次从文件中读取的最大字节数。默认值为 65536 字节或 64KB
algorithm – 要使用的哈希算法名称。例如,‘md5’、‘sha256’、‘sha512’ 等。默认值为 ‘sha256’。请参阅 hashlib.algorithms_available 以获取可用算法
- 返回值:
校验和的十六进制摘要字符串
3.31.0 版本中添加。
- oslo_utils.fileutils.delete_if_exists(path, remove=<built-in function unlink>)¶
删除文件,但忽略文件未找到错误。
- 参数:
path – 要删除的文件
remove – 可选函数,用于删除传递的路径
- oslo_utils.fileutils.ensure_tree(path, mode=511)¶
创建目录(以及所需的任何祖先目录)
- 参数:
path – 要创建的目录
mode – 目录创建权限
- oslo_utils.fileutils.is_json(file_path)¶
检查文件是否为 json 类型。
此函数尝试使用 json.loads() 加载输入文件,如果发生 ValueError 则返回 False,否则返回 True。
- 参数:
file_path – 要检查的文件路径
- 返回值:
bool
- oslo_utils.fileutils.is_yaml(file_path)¶
检查文件是否为 yaml 类型。
此函数尝试使用 yaml.safe_load() 加载输入文件,如果可以加载则返回 True。因为每个 json 文件都可以用 yaml 加载,所以如果文件可以使用 json.loads() 加载,则表示它是 json 文件,因此此函数返回 False。
- 参数:
file_path – 要检查的文件路径
- 返回值:
bool
- oslo_utils.fileutils.last_bytes(path, num)¶
从文件末尾返回 num 个字节和未读取字节数。
返回一个元组,其中包含来自文件的内容和读取开始点之前出现在文件中的字节数。内容最多为
num个字节,从文件末尾获取。如果文件小于num个字节,则返回文件的全部内容。- 参数:
path – 要读取的文件路径
num – 要返回的字节数
- 返回值:
(data, unread_bytes)
- oslo_utils.fileutils.remove_path_on_error(path, remove=<function delete_if_exists>)¶
保护想要以原子方式对 PATH 进行操作的代码。任何异常都将导致删除 PATH。
- 参数:
path – 要使用File
remove – 可选函数,用于删除传递的路径
- oslo_utils.fileutils.write_to_tempfile(content, path=None, suffix='', prefix='tmp')¶
创建一个包含数据的临时文件。
创建一个包含指定内容的临时文件,并指定文件名后缀和前缀。临时文件将在默认位置创建,或者在目录 path 中创建(如果它不为 None)。path 及其父目录将在不存在时创建。
- 参数:
content – 要写入文件的字节字符串
path – 与 mkstemp 的 ‘dir’ 参数相同
suffix – 与 mkstemp 的 ‘suffix’ 参数相同
prefix – 与 mkstemp 的 ‘prefix’ 参数相同
例如:它可以在数据库测试中用于创建配置文件。
1.9 版本中添加。