问题记录——关于生成文件地址

该文章仅记录发现问题所在,但是并未找到解决办法。

问题描述:

在文件内创建ArgumentParser()对象和调用add_argument()方法添加参数和使用parse_args()解析添加参数的代码写在程序入口内,即写在if __name__=='__main__'下面。示例:

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Autoformer & Transformer family for Time Series Forecasting')

    # random seed
    parser.add_argument('--random_seed', type=int, default=2021, help='random seed')

    args = parser.parse_args()

当程序正常执行时,其中代码如有保存参数至当前文件夹下的操作,此时代码会将将要保存的文件保存至父级拥有.vscode文件夹下。正常运行之后能够发现results文件夹并未出现在运行文件父级目录下面,而是出现在了父级目录的上一级目录中。

解决办法:

将文件内创建ArgumentParser()对象和调用add_argument()方法添加参数卸载程序入口之外,parse_args()解析添加参数的代码写在程序入口内,即写在if __name__=='__main__'下面。示例:

parser = argparse.ArgumentParser(description='Autoformer & Transformer family for Time Series Forecasting')

# GPU
parser.add_argument('--use_gpu', type=bool, default=True, help='use gpu')
parser.add_argument('--gpu', type=int, default=0, help='gpu')
parser.add_argument('--use_multi_gpu', action='store_true', help='use multiple gpus', default=False)
parser.add_argument('--devices', type=str, default='0,1,2,3', help='device ids of multile gpus')
parser.add_argument('--test_flop', action='store_true', default=False, help='See utils/tools for usage')

if __name__ == '__main__':

    args = parser.parse_args()

在将创建对象和添加参数的代码移动位置之后,再次执行代码能够发现程序生成文件生成位置在执行代码同级目录下:

问题原因:当时发现问题之后,只是通过测试解决了该问题,但是并未到问题产生原因。本次所执行文件同级目录下并未生成.vscode文件夹,所以program属性应为默认。在父级目录下面,launch.json文件内带有cwd选项,加了之后不是可以支持相对路径吗?

欢迎各位大佬在评论区指出问题所在!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值