通常,执行以下代码将 pickle 一个对象转到我current
目录中的文件:
fp = open('somefile.txt', 'wb')
pickle.dump(object, fp)
如何将pickle.dump
的输出重定向到其他目录?
答案 0 :(得分:6)
with open('/full/path/to/file', 'wb') as f:
pickle.dump(object, f)
答案 1 :(得分:3)
pathlib 和 with 的结合怎么样,我觉得更灵活更安全。
# from python 3.4
from pathlib import Path
my_path = Path("{path to you want to set root like . or ~}") / "path" / "to" / "file"
with my_path.open('wb') as fp:
pickle.dump(object, fp)
答案 2 :(得分:0)
如果希望将文件保存到包含代码的文件夹内的子文件夹中,则可以使用pathlib模块。即使代码的位置在您的计算机上移动了,或者您将代码添加到了另一台计算机上,这也将允许代码工作。
导入模块:
from pathlib import Path
将root设置为当前文件夹:
root = Path(".")
创建子文件夹和文件名的路径:
my_path = root / "my_sub_folder" / "my_file_name"
打开文件,将数据转储到文件中,然后关闭文件:
my_file = open(my_path, 'wb')
my_file = pickle.dump("data_to_save", my_file)
my_file.close()