-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathname_cleaner.py
More file actions
27 lines (25 loc) · 911 Bytes
/
Copy pathname_cleaner.py
File metadata and controls
27 lines (25 loc) · 911 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
import os
import re
def clean_filename(filename: str) -> str:
# Use regex to extract the key components
match = re.search(
r'BAL\d{2}-\d{2}_(\d+_\d+)_buffered_segmented_(\d+)',
filename
)
if match:
# Extract the parts
plot_id = re.search(r'BAL\d{2}-\d{2}', filename).group(0)
coords = match.group(1)
number = match.group(2).zfill(2) # ensure two digits
return f"{plot_id}_{coords}_{number}.las"
else:
return filename # fallback
# Example usage
folder_path = r"S:\qfl_australia_tls\Curtain Fig\output"
for filename in os.listdir(folder_path):
if filename.endswith(".las"):
new_name = clean_filename(filename)
old_path = os.path.join(folder_path, filename)
new_path = os.path.join(folder_path, new_name)
print(f"Renaming: {filename} → {new_name}")
os.rename(old_path, new_path)