76 lines
2.7 KiB
Python
Executable file
76 lines
2.7 KiB
Python
Executable file
# import os
|
|
#
|
|
# def modify_file(file_path):
|
|
# """
|
|
# Modifies the given file by:
|
|
# 1. Appending "|cloud_topic" to the first line.
|
|
# 2. Inserting the text from the third "." to the first "|" on the second line after the last "|" character.
|
|
#
|
|
# Args:
|
|
# file_path (str): The path to the file to be modified.
|
|
# """
|
|
#
|
|
# with open(file_path, 'r+') as f:
|
|
# lines = f.readlines()
|
|
#
|
|
# # Modify the first line
|
|
# lines[0] += "|cloud_topic:string"
|
|
#
|
|
# # Modify the second line
|
|
# second_line = lines[1].strip() # Remove leading/trailing whitespace
|
|
# first_pipe_index = second_line.find('|')
|
|
# third_dot_index = second_line.find('.', second_line.find('.', second_line.find('.') + 1) + 1)
|
|
# text_to_insert = second_line[third_dot_index:first_pipe_index]
|
|
#
|
|
# last_pipe_index = second_line.rfind('|')
|
|
# lines[1] = second_line[:last_pipe_index + 1] + text_to_insert + "|" + second_line[last_pipe_index + 1:]
|
|
#
|
|
# print(first_pipe_index, third_dot_index, text_to_insert, last_pipe_index)
|
|
# # Write the modified lines back to the file
|
|
# # f.seek(0)
|
|
# # f.writelines(lines)
|
|
# # f.truncate()
|
|
#
|
|
# # Example usage:
|
|
# file_path = "settings.table" # Replace with the actual file path
|
|
# modify_file(file_path)
|
|
#
|
|
|
|
|
|
def modify_file(file_path):
|
|
"""
|
|
Modifies the given file by:
|
|
1. Appending "|cloud_topic" to the first line.
|
|
2. Inserting the text between the third "." and the second "|" on the second line after the last "|" character.
|
|
|
|
Args:
|
|
file_path (str): The path to the file to be modified.
|
|
"""
|
|
|
|
with open(file_path, 'r+') as f:
|
|
lines = f.readlines()
|
|
|
|
first_line = lines[0].strip()
|
|
first_line += "|cloud_topic:string\n"
|
|
# Modify the first line
|
|
lines[0] = first_line
|
|
|
|
# Modify the second line
|
|
second_line = lines[1].strip() # Remove leading/trailing whitespace
|
|
first_pipe_index = second_line.find('|')
|
|
second_pipe_index = second_line.find('|', first_pipe_index + 1)
|
|
third_dot_index = second_line.find('.', second_line.find('.', second_line.find('.') + 1) + 1)
|
|
text_to_insert = "u" + second_line[third_dot_index+1:second_pipe_index]
|
|
|
|
last_pipe_index = second_line.rfind('|')
|
|
lines[1] = second_line[:last_pipe_index + 1] + text_to_insert + "|" + second_line[last_pipe_index + 1:]
|
|
|
|
print(first_pipe_index, third_dot_index, text_to_insert, last_pipe_index)
|
|
# Write the modified lines back to the file
|
|
f.seek(0)
|
|
f.writelines(lines)
|
|
f.truncate()
|
|
|
|
# Example usage:
|
|
file_path = "/home/unipi/flowserver/databases/settings.table" # Replace with the actual file path
|
|
modify_file(file_path)
|