• Oct 10, 2025 •AustinLeath
0 likes • 2 views
#Original def output_json_log_data_to_file(filename, record_dictionary_list): with open(filename, 'w') as outputFile: for record in record_dictionary_list: json.dump(record, outputFile) outputFile.write('\n') #Atomic def output_json_log_data_to_file(filename, record_dictionary_list): # Use atomic file operations to prevent race conditions with readers # Write to temporary file first, then atomically rename to target file tmp_filename = filename + '.tmp' with open(tmp_filename, 'w') as outputFile: for record in record_dictionary_list: json.dump(record, outputFile) outputFile.write('\n') # Atomic rename - this prevents readers from seeing partial writes shutil.move(tmp_filename, filename)
• Jun 26, 2025 •AustinLeath
def format_timestamp(timestamp_epoch): """ Convert epoch timestamp to formatted datetime string without using datetime package. Args: timestamp_epoch (int/float): Unix epoch timestamp (seconds since 1970-01-01 00:00:00 UTC) Returns: str: Formatted datetime string in 'YYYY-MM-DD HH:MM:SS' format """ # Constants for time calculations SECONDS_PER_DAY = 86400 SECONDS_PER_HOUR = 3600 SECONDS_PER_MINUTE = 60 # Handle negative timestamps and convert to integer timestamp = int(timestamp_epoch) # Calculate days since epoch and remaining seconds days_since_epoch = timestamp // SECONDS_PER_DAY remaining_seconds = timestamp % SECONDS_PER_DAY # Calculate hours, minutes, seconds hours = remaining_seconds // SECONDS_PER_HOUR remaining_seconds %= SECONDS_PER_HOUR minutes = remaining_seconds // SECONDS_PER_MINUTE seconds = remaining_seconds % SECONDS_PER_MINUTE # Calculate date (simplified, ignoring leap seconds) year = 1970 days = days_since_epoch while days >= 365: is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) days_in_year = 366 if is_leap else 365 if days >= days_in_year: days -= days_in_year year += 1 # Month lengths (non-leap year for simplicity, adjusted later for leap years) month_lengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): month_lengths[1] = 29 month = 0 while days >= month_lengths[month]: days -= month_lengths[month] month += 1 # Convert to 1-based indexing for month and day month += 1 day = days + 1 # Format the output string return f"{year:04d}-{month:02d}-{day:02d} {hours:02d}:{minutes:02d}:{seconds:02d}" # Example timestamp (Unix epoch seconds) timestamp = 1697054700 formatted_date = format_timestamp(timestamp) print(formatted_date + " UTC") # Output: 2023-10-11 18:45:00
• Jul 24, 2024 •AustinLeath
0 likes • 3 views
from statistics import median, mean, mode def print_stats(array): print(array) print("median =", median(array)) print("mean =", mean(array)) print("mode =", mode(array)) print() print_stats([1, 2, 3, 3, 4]) print_stats([1, 2, 3, 3])
• Nov 19, 2022 •CodeCatch
# Python program for Plotting Fibonacci # spiral fractal using Turtle import turtle import math def fiboPlot(n): a = 0 b = 1 square_a = a square_b = b # Setting the colour of the plotting pen to blue x.pencolor("blue") # Drawing the first square x.forward(b * factor) x.left(90) x.forward(b * factor) x.left(90) x.forward(b * factor) x.left(90) x.forward(b * factor) # Proceeding in the Fibonacci Series temp = square_b square_b = square_b + square_a square_a = temp # Drawing the rest of the squares for i in range(1, n): x.backward(square_a * factor) x.right(90) x.forward(square_b * factor) x.left(90) x.forward(square_b * factor) x.left(90) x.forward(square_b * factor) # Proceeding in the Fibonacci Series temp = square_b square_b = square_b + square_a square_a = temp # Bringing the pen to starting point of the spiral plot x.penup() x.setposition(factor, 0) x.seth(0) x.pendown() # Setting the colour of the plotting pen to red x.pencolor("red") # Fibonacci Spiral Plot x.left(90) for i in range(n): print(b) fdwd = math.pi * b * factor / 2 fdwd /= 90 for j in range(90): x.forward(fdwd) x.left(1) temp = a a = b b = temp + b # Here 'factor' signifies the multiplicative # factor which expands or shrinks the scale # of the plot by a certain factor. factor = 1 # Taking Input for the number of # Iterations our Algorithm will run n = int(input('Enter the number of iterations (must be > 1): ')) # Plotting the Fibonacci Spiral Fractal # and printing the corresponding Fibonacci Number if n > 0: print("Fibonacci series for", n, "elements :") x = turtle.Turtle() x.speed(100) fiboPlot(n) turtle.done() else: print("Number of iterations must be > 0")
• May 31, 2023 •CodeCatch
0 likes • 0 views
class Rectangle: pass class Square(Rectangle): pass rectangle = Rectangle() square = Square() print(isinstance(rectangle, Rectangle)) # True print(isinstance(square, Rectangle)) # True print(isinstance(square, Square)) # True print(isinstance(rectangle, Square)) # False
# Python code to demonstrate # method to remove i'th character # Naive Method # Initializing String test_str = "CodeCatch" # Printing original string print ("The original string is : " + test_str) # Removing char at pos 3 # using loop new_str = "" for i in range(len(test_str)): if i != 2: new_str = new_str + test_str[i] # Printing string after removal print ("The string after removal of i'th character : " + new_str)