【笔记】Python小记

文件处理之“自动创建文件”

  • 情况一:用with open() as f:处理文件时,如果该文件不存在,创建新文件进行写入。

  • 情况二:在pytorch中,用``torch.load()`从文件中加载一个用torch.save()保存的对象时,若该文件不存在,不会自动创建新文件进行写入。

    我之前想将训练好的模型保存为.pkl文件,但是因为之前没有创建该文件,所以报错:FileNotFoundError: [Errno 2] No such file or directory: 'xxx.pkl'

    我原来的代码:

    path_1 = '../saved_models/model1_.pkl'
    self.model1.load_state_dict(torch.load(path_1))
    

    改后的代码:

    def create_file(filename):
        """
        创建日志文件夹和日志文件
        :param filename:
        :return:
        """
        path = filename[0:filename.rfind("/")]
        if not os.path.isdir(path):  # 无文件夹时创建
            os.makedirs(path)
        if not os.path.isfile(filename):  # 无文件时创建
            fd = open(filename, mode="w", encoding="utf-8")
            fd.close()
        else:
            pass
    
    
    path_1 = '../screate_file(path_1)aved_models/model1_.pkl'
    # 检查是否存在该文件,若不存在就创建,若存在就pass
    create_file(path_1)
    self.model1.load_state_dict(torch.load(path_1))
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值