如何将某个对象“挑选”到某个目录?

时间:2013-07-19 15:53:48

标签: python python-3.x pickle

通常,执行以下代码将 pickle 一个对象转到我current目录中的文件:

fp = open('somefile.txt', 'wb')
pickle.dump(object, fp)

如何将pickle.dump的输出重定向到其他目录?

3 个答案:

答案 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()
  • 请注意,如果您的my_file当前不存在,则需要在运行此代码之前创建它。 *