Warum laden Bilder in einzelnen HTML -Dateien vollständig, jedoch nicht in einer fusionierten HTML -Datei? [geschlossen]Python

Python-Programme
Anonymous
 Warum laden Bilder in einzelnen HTML -Dateien vollständig, jedoch nicht in einer fusionierten HTML -Datei? [geschlossen]

Post by Anonymous »

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?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post