diff --git a/wetb/utils/cluster_tools/pbsfile.py b/wetb/utils/cluster_tools/pbsfile.py index 8a28d1c30e7d7413c9fc030bd77405ce5abc2864..16217c57c392ff16d14d503bb3e25afa438cbf70 100644 --- a/wetb/utils/cluster_tools/pbsfile.py +++ b/wetb/utils/cluster_tools/pbsfile.py @@ -137,7 +137,6 @@ class PBSMultiRunner(PBSFile): import os import glob import numpy as np - from pathlib import Path import re # find available nodes @@ -150,7 +149,8 @@ class PBSMultiRunner(PBSFile): def get_info(f): try: - return (f,) + pat.match(Path(f).read_text()).groups() + with open(f) as fid: + return (f,) + pat.match(fid.read()).groups() except Exception: return (f, f.replace('.in', '.out'), '00:30:00') pbs_info_lst = map(get_info, pbs_files) @@ -164,12 +164,11 @@ class PBSMultiRunner(PBSFile): def start_jobs(self): import os - from pathlib import Path import multiprocessing import platform import time - - pbs_info_lst = eval(Path('pbs.dict').read_text())[platform.node()] + with open('pbs.dict') as fid: + pbs_info_lst = eval(fid.read())[platform.node()] arg_lst = ['echo starting %s && mkdir -p %s && env PBS_JOBID=$PBS_JOBID %s &> %s && echo finished %s' % (f, os.path.dirname(o), f, o, f) for f, o, _ in pbs_info_lst] print(arg_lst[0]) diff --git a/wetb/utils/tests/test_pbs_file.py b/wetb/utils/tests/test_pbs_file.py index 3f8e4fa1dd694d75527dbd16c600e5d5e7975074..117a631b9e390778e6558a95bc56706bcb7d871b 100644 --- a/wetb/utils/tests/test_pbs_file.py +++ b/wetb/utils/tests/test_pbs_file.py @@ -89,7 +89,6 @@ pwd echo "import os import glob import numpy as np -from pathlib import Path import re # find available nodes @@ -102,7 +101,8 @@ pat = re.compile(r'[\s\S]*#\s*PBS\s+-o\s+(.*)[\s\S]*(\d\d:\d\d:\d\d)[\s\S]*') def get_info(f): try: - return (f,) + pat.match(Path(f).read_text()).groups() + with open(f) as fid: + return (f,) + pat.match(fid.read()).groups() except Exception: return (f, f.replace('.in', '.out'), '00:30:00') pbs_info_lst = map(get_info, pbs_files) @@ -122,12 +122,11 @@ do ssh -T $node << EOF & cd /home/user/tmp python -c "import os -from pathlib import Path import multiprocessing import platform import time - -pbs_info_lst = eval(Path('pbs.dict').read_text())[platform.node()] +with open('pbs.dict') as fid: + pbs_info_lst = eval(fid.read())[platform.node()] arg_lst = ['echo starting %s && mkdir -p %s && env PBS_JOBID=$PBS_JOBID %s &> %s && echo finished %s' % (f, os.path.dirname(o), f, o, f) for f, o, _ in pbs_info_lst] print(arg_lst[0])