11import argparse
2- import os
2+ from pathlib import Path
33from tempfile import TemporaryDirectory
44
55
6- def createfolders (args ) -> None :
6+ def createfolders (* dirs : Path ) -> None :
77 """
88 Creates folders for storing data, results, model weights.
99
@@ -14,43 +14,44 @@ def createfolders(args) -> None:
1414
1515 """
1616
17- if not os .path .exists (args .datafolder ):
18- os .makedirs (args .datafolder )
19- print (f"Created a folder at { args .datafolder } " )
20-
21- if not os .path .exists (args .resultfolder ):
22- os .makedirs (args .resultfolder )
23- print (f"Created a folder at { args .resultfolder } " )
24-
25- if not os .path .exists (args .modelfolder ):
26- os .makedirs (args .modelfolder )
27- print (f"Created a folder at { args .modelfolder } " )
17+ for dir in dirs :
18+ dir .mkdir (parents = True , exist_ok = True )
2819
2920
3021def test_createfolders ():
31- with TemporaryDirectory (dir = "tmp/" ) as temp_dir :
22+ with TemporaryDirectory () as temp_dir :
23+ temp_dir = Path (temp_dir )
24+
3225 parser = argparse .ArgumentParser ()
26+
3327 # Structuture related values
3428 parser .add_argument (
3529 "--datafolder" ,
36- type = str ,
37- default = os . path . join ( temp_dir , "Data/" ) ,
30+ type = Path ,
31+ default = temp_dir / "Data" ,
3832 help = "Path to where data will be saved during training." ,
3933 )
4034 parser .add_argument (
4135 "--resultfolder" ,
42- type = str ,
43- default = os . path . join ( temp_dir , "Results/" ) ,
36+ type = Path ,
37+ default = temp_dir / "Results" ,
4438 help = "Path to where results will be saved during evaluation." ,
4539 )
4640 parser .add_argument (
4741 "--modelfolder" ,
48- type = str ,
49- default = os . path . join ( temp_dir , "Experiments/" ) ,
42+ type = Path ,
43+ default = temp_dir / "Experiments" ,
5044 help = "Path to where model weights will be saved at the end of training." ,
5145 )
5246
53- args = parser .parse_args ()
54- createfolders (args )
47+ args = parser .parse_args ([
48+ "--datafolder" , temp_dir / "Data" ,
49+ "--resultfolder" , temp_dir / "Results" ,
50+ "--modelfolder" , temp_dir / "Experiments"
51+ ])
52+
53+ createfolders (args .datafolder , args .resultfolder , args .modelfolder )
5554
56- return
55+ assert (temp_dir / "Data" ).exists ()
56+ assert (temp_dir / "Results" ).exists ()
57+ assert (temp_dir / "Experiments" ).exists ()
0 commit comments