IOCL-Bot / extract_variables.py
akshansh36's picture
Upload 5 files
e282277 verified
import ast
def get_dict_variable_names(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
node = ast.parse(file.read(), filename=file_path)
dict_variable_names = []
class DictVariableVisitor(ast.NodeVisitor):
def visit_Assign(self, node):
for target in node.targets:
if isinstance(target, ast.Name):
# Check if the assigned value is a dictionary
if isinstance(node.value, ast.Dict):
dict_variable_names.append(target.id)
self.generic_visit(node)
DictVariableVisitor().visit(node)
return dict_variable_names
def write_variables_to_file(variables, output_file):
with open(output_file, 'w', encoding='utf-8') as file:
file.write("variables = [\n")
for var in variables:
file.write(f" '{var}',\n")
file.write("]\n")
# Example usage
input_file_path = 'paragraphs2.py' # Replace with your input file path
output_file_path = 'variables.py' # Replace with your desired output file path
dict_variables = get_dict_variable_names(input_file_path)
write_variables_to_file(dict_variables, output_file_path)
print(f"Initialized dictionary variables stored in {output_file_path}.")