Skip to content

Commit 7679b19

Browse files
committed
Create output directories in write_*
1 parent 6a9ecd0 commit 7679b19

File tree

8 files changed

+23
-8
lines changed

8 files changed

+23
-8
lines changed

petab/v1/conditions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,11 @@ def write_condition_df(df: pd.DataFrame, filename: str | Path) -> None:
6060
6161
Arguments:
6262
df: PEtab condition table
63-
filename: Destination file name
63+
filename: Destination file name. Parent directories are created if
64+
necessary.
6465
"""
6566
df = get_condition_df(df)
67+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
6668
df.to_csv(filename, sep="\t", index=True)
6769

6870

petab/v1/core.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ def write_simulation_df(df: pd.DataFrame, filename: str | Path) -> None:
6060
6161
Arguments:
6262
df: PEtab simulation table
63-
filename: Destination file name
63+
filename: Destination file name. The parent directory will be created
64+
if necessary.
6465
"""
66+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
6567
df.to_csv(filename, sep="\t", index=False)
6668

6769

petab/v1/mapping.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,11 @@ def write_mapping_df(df: pd.DataFrame, filename: str | Path) -> None:
6060
6161
Arguments:
6262
df: PEtab mapping table
63-
filename: Destination file name
63+
filename: Destination file name. Parent directories are created if
64+
necessary.
6465
"""
6566
df = get_mapping_df(df)
67+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
6668
df.to_csv(filename, sep="\t", index=True)
6769

6870

petab/v1/measurements.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,11 @@ def write_measurement_df(df: pd.DataFrame, filename: str | Path) -> None:
5858
5959
Arguments:
6060
df: PEtab measurement table
61-
filename: Destination file name
61+
filename: Destination file name. Parent directories are created if
62+
necessary.
6263
"""
6364
df = get_measurement_df(df)
65+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
6466
df.to_csv(filename, sep="\t", index=False)
6567

6668

petab/v1/observables.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,11 @@ def write_observable_df(df: pd.DataFrame, filename: str | Path) -> None:
6767
6868
Arguments:
6969
df: PEtab observable table
70-
filename: Destination file name
70+
filename: Destination file name. Parent directories are created if
71+
necessary.
7172
"""
7273
df = get_observable_df(df)
74+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
7375
df.to_csv(filename, sep="\t", index=True)
7476

7577

petab/v1/parameters.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,11 @@ def write_parameter_df(df: pd.DataFrame, filename: str | Path) -> None:
112112
113113
Arguments:
114114
df: PEtab parameter table
115-
filename: Destination file name
115+
filename: Destination file name. Parent directories are created if
116+
necessary.
116117
"""
117118
df = get_parameter_df(df)
119+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
118120
df.to_csv(filename, sep="\t", index=True)
119121

120122

petab/v1/yaml.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,9 @@ def write_yaml(yaml_config: dict[str, Any], filename: str | Path) -> None:
238238
239239
Arguments:
240240
yaml_config: Data to write
241-
filename: File to create
241+
filename: File to create. Parent directories are created if necessary.
242242
"""
243+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
243244
with open(filename, "w") as outfile:
244245
yaml.dump(
245246
yaml_config, outfile, default_flow_style=False, sort_keys=False

petab/v2/experiments.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ def write_experiment_df(df: pd.DataFrame, filename: str | Path) -> None:
3434
3535
Arguments:
3636
df: PEtab experiments table
37-
filename: Destination file name
37+
filename: Destination file name. Parent directories are created if
38+
necessary.
3839
"""
3940
df = get_experiment_df(df)
41+
Path(filename).parent.mkdir(parents=True, exist_ok=True)
4042
df.to_csv(filename, sep="\t", index=False)

0 commit comments

Comments
 (0)