36 lines
1.7 KiB
Python
36 lines
1.7 KiB
Python
#Confirmed working as of 1/22/23
|
|
|
|
import os
|
|
|
|
root_dir = '/Users/jonas/Documents/SERVER/BOOKS/TEST'
|
|
for subdir, dirs, files in os.walk(root_dir):
|
|
for file in files:
|
|
file_path = os.path.join(subdir, file)
|
|
if file == 'overdrive_chapters_ms.txt':
|
|
with open(file_path, "r") as file:
|
|
lines = file.read().split('\n')
|
|
new_file_path = file_path.replace('.txt', '_spans.txt')
|
|
with open(new_file_path, "w") as file:
|
|
for i in range(len(lines)):
|
|
parts = lines[i].split(" ")
|
|
if i == len(lines) - 2:
|
|
# If it's the second-to-last line, write the last line's number and 0
|
|
file.write(parts[0])
|
|
file.write("\t" + lines[i + 1].split(" ")[0])
|
|
file.write("0")
|
|
elif i != len(lines) - 1:
|
|
# Otherwise, write the number from the next line to the file
|
|
file.write(parts[0])
|
|
file.write("\t" + lines[i + 1].split(" ")[0])
|
|
else:
|
|
# If it's the last line, just write the number and 0
|
|
if parts[0] != "":
|
|
file.write(parts[0])
|
|
file.write("0")
|
|
# Write the rest of the line to the file
|
|
file.write("\t" + " ".join(parts[1:]))
|
|
if i != len(lines) - 1 or (i == len(lines) - 1 and lines[i] != ""):
|
|
file.write("\n")
|
|
if lines[-1] == "":
|
|
file.seek(file.tell()-1, os.SEEK_SET)
|
|
file.truncate() |