forked from luzyPer/pyutils
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfilename.py
More file actions
40 lines (32 loc) · 950 Bytes
/
filename.py
File metadata and controls
40 lines (32 loc) · 950 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import os
import shutil
def params2name(params, s1='_', s2='-'):
params_str = []
for k, v in params.items():
try:
param_str = '{0}{1}{2:g}'.format(k,s2,v)
except ValueError:
param_str = '{0}{1}{2}'.format(k,s2,v)
params_str.append(param_str)
return s1.join(params_str)
def name2params(name, s1='_', s2='-', default=None):
params = {}
params_str = name.split(s1)
for param_str in params_str:
param = param_str.split(s2,maxsplit=1)
key = param[0]
try:
params[key] = float( param[1] )
except ValueError:
params[key] = param[1]
except IndexError:
params[key] = default
return params
def add_suffix(name, suffix):
if name.endswith(suffix):
return name
return '.'.join([name, suffix])
def make_dir(path):
if os.path.exists(path):
shutil.rmtree(path)
os.mkdir(path)