Download Data/validate_list.py from FashionFlora/SFlowTTS: direct link, hf CLI and curl.
- Browser
- Download file 2.36 kB
-
https://huggingface.co/FashionFlora/SFlowTTS/resolve/main/Data/validate_list.py
- Command line
-
hf download hf://FashionFlora/SFlowTTS/Data/validate_list.py
-
curl -L -o validate_list.py https://huggingface.co/FashionFlora/SFlowTTS/resolve/main/Data/validate_list.py
2.36 kB
| import os | |
| def check_and_remove_missing_files(input_file, base_dir=None): | |
| # Normalize base_dir (e.g., "../") if provided | |
| if base_dir is not None: | |
| base_dir = os.path.normpath(base_dir) | |
| # Read the text file containing the list of files to check | |
| with open(input_file, 'r', encoding='utf-8') as f: | |
| all_lines = f.readlines() | |
| files_to_check = [] | |
| for line in all_lines: | |
| # Split the line into path and the rest of the text (after the | character) | |
| parts = line.strip().split('|', 1) | |
| if parts and parts[0]: | |
| file_path = parts[0].strip() | |
| files_to_check.append(file_path) | |
| # Check for missing files (using base_dir if provided) | |
| missing_files = [] | |
| for file_path in files_to_check: | |
| resolved_path = ( | |
| os.path.join(base_dir, file_path) if base_dir is not None else file_path | |
| ) | |
| if not os.path.exists(resolved_path): | |
| missing_files.append(file_path) | |
| # Print missing files | |
| if missing_files: | |
| print("Missing files (resolved paths):") | |
| for file_path in missing_files: | |
| resolved_path = ( | |
| os.path.join(base_dir, file_path) if base_dir is not None else file_path | |
| ) | |
| print(resolved_path) | |
| print(f"\nNumber of missing files: {len(missing_files)}") | |
| # Remove lines with missing files (compare using original paths) | |
| new_lines = [] | |
| missing_set = set(missing_files) | |
| for line in all_lines: | |
| parts = line.strip().split('|', 1) | |
| keep = True | |
| if parts and parts[0]: | |
| file_path = parts[0].strip() | |
| if file_path in missing_set: | |
| keep = False | |
| if keep: | |
| new_lines.append(line) | |
| # Write the updated list back to the file | |
| with open(input_file, 'w', encoding='utf-8') as f: | |
| f.writelines(new_lines) | |
| print(f"\nRemoved {len(missing_files)} entries from {input_file}") | |
| else: | |
| print("All files exist.") | |
| # Example usage: | |
| # Set base_dir to "../" or any other directory you want to prepend | |
| input_file = "train_3_filtered_dur_fixed_copy.txt" # Change to your actual filename | |
| check_and_remove_missing_files(input_file, base_dir="../") |