Ich habe eine große Anzahl von .htm -Dateien, die im folgenden Ordner gespeichert sind: < /p>
E:\Desktop\New folder (5)\New folder (2)
< /code>
Alle diese .htm -Dateien teilen gemeinsame CSS, Bilder und JavaScript -Dateien, die sich im folgenden Unterordner befinden: < /p>
E:\Desktop\New folder (5)\New folder (2)\Flo
< /code>
Das Problem: < /p>
Wenn ich jede .htm < /code> einzeln öffne, laden alle Bilder korrekt. HTML -Datei), die Bilder laden nicht vollständig. < /Li>
In der fusionierten Datei werden Bilder entweder nicht vollständig geladen oder nur teilweise angezeigt (z. B. nur 50% des Bildes sind sichtbar).import os
def merge_html_files(input_dir, output_dir, batch_size=15):
os.makedirs(output_dir, exist_ok=True)
# Get all .htm files, excluding unwanted files
files = [f for f in os.listdir(input_dir)
if f.endswith(".htm") and f != "Flourish template_ Bar chart race.htm"]
files.sort() # Sort files to merge in order
for i in range(0, len(files), batch_size):
batch_files = files[i:i+batch_size]
output_filename = os.path.join(output_dir, f'merged_{i//batch_size + 1}.htm')
with open(output_filename, 'w', encoding='utf-8') as output_file:
# Start HTML with CSS for page breaks and styling
output_file.write("""
@media print { .page-break { page-break-before: always; } }
h2 { text-align: center; font-family: Arial, sans-serif; color: #333; white-space: pre-line; }
.content { margin: 20px; }
""")
for index, file in enumerate(batch_files):
input_filepath = os.path.join(input_dir, file)
file_name_without_ext = os.path.splitext(file)[0] # Remove file extension
with open(input_filepath, 'r', encoding='utf-8') as input_file:
content = input_file.read()
if index > 0:
output_file.write("\n") # Add page break
# Add formatted filename header with ///// and line breaks
output_file.write(f"\n\n///// {file_name_without_ext} /////\n\n\n")
output_file.write(f"{content}\n") # Wrap content for spacing
output_file.write("") # Close HTML
print(f"Merged {len(batch_files)} files into: {output_filename}")
# Define input and output directories
input_directory = r"E:\Desktop\New folder (5)\New folder (2)"
output_directory = r"E:\Desktop\New folder (5)\New folder (3)"
# Run the merging function
merge_html_files(input_directory, output_directory)
< /code>
Was könnte dieses Problem verursachen? Gibt es eine Einschränkung beim Laden externer Bilder in einer fusionierten HTML -Datei oder hängt sie mit CSS, JavaScript oder Browserverhalten zusammen?>
Warum laden Bilder in einzelnen HTML -Dateien vollständig, jedoch nicht in einer fusionierten HTML -Datei? [geschlossen] ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post