svats73 / md-sfa-msm

7 stars 2 forks source link

Error "TypeError: file must have a 'write' attribute" #3

Open sbhakat opened 1 month ago

sbhakat commented 1 month ago

@svats73 While executing the following script, I am getting an error

md-sfa dump-sfa-components --save_file 'sfa.pkl'

Error:

Traceback (most recent call last):
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/bin/md-sfa", line 8, in <module>
    sys.exit(cli())
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/md_sfa/cli.py", line 95, in dump_sfa_components
    processor_instance.dump_sfa_components(save_file)
  File "/Users/arghya/opt/anaconda3/envs/msmbuilder2022/lib/python3.9/site-packages/md_sfa/main.py", line 128, in dump_sfa_components
    pickle.dump(self.res, save_file)
TypeError: file must have a 'write' attribute
sbhakat commented 1 month ago

Solution:

def dump_sfa_components(self, save_file):
    with open(save_file, 'wb') as f:
        pickle.dump(self.res, f)