如何使用Python的pathlib库实现自定义文件名的文件创建?
使用pathlib实现os.path.join的文件名拼接功能
当然可以用pathlib库实现相同功能,你代码报错的原因是错误地将文件流对象和Path对象做拼接——Path(f"{file_name}.txt").open('w')会返回一个文件IO对象(不是Path路径对象),而/运算符只能用于Path对象之间,或者Path对象与字符串的拼接,所以触发了类型错误。
正确的实现代码
写法一(分步清晰版)
from pathlib import Path file_name = "file.txt" # 拼接当前工作目录和文件名,得到完整Path对象 file_path = Path.cwd() / f"{file_name}.txt" # 调用Path对象的open方法写入内容 with file_path.open('w') as file: file.write("fail")
写法二(简洁版)
from pathlib import Path file_name = "file.txt" # 先拼接路径,再调用open方法 with (Path.cwd() / f"{file_name}.txt").open('w') as file: file.write("fail")
补充说明
pathlib的设计比os.path更直观:
- 直接用
/运算符就能完成路径拼接,不需要调用os.path.join - Path对象可以直接和字符串拼接(比如
Path.cwd() / "test.txt"),无需额外转成Path对象
内容的提问来源于stack exchange,提问作者jharrison12
相关产品推荐
相关产品推荐

