]> vgcfreebox.myrthtech.pt Git - ue-pp-sortingalgorith.git/blob - generate_input.py
to determine wall clock time
[ue-pp-sortingalgorith.git] / generate_input.py
1 import random
2 import sys
3 import os
4
5 def generate_random_file(count, filename, min_val=-100000, max_val=100000):
6 """
7 Generates a text file containing 'count' number of random signed integers.
8
9 Args:
10 count (int): The number of integers to generate.
11 filename (str): The name of the output file.
12 min_val (int): The minimum random value allowed.
13 max_val (int): The maximum random value allowed.
14 """
15 print(f"--- File Generation Initiated ---")
16 print(f"Target File: {filename}")
17 print(f"Total Records: {count}")
18 print(f"Range: [{min_val}, {max_val}]")
19
20 try:
21 with open(filename, 'w') as f:
22 for i in range(count):
23 # Generate a random integer within the specified range
24 random_number = random.randint(min_val, max_val)
25
26 # Write the number followed by a newline
27 f.write(f"{random_number}\n")
28
29 print("\n[SUCCESS] File generated successfully!")
30 print(f"Check the contents of '{filename}'")
31
32 except Exception as e:
33 print(f"\n[ERROR] An error occurred during file writing: {e}")
34
35 if __name__ == "__main__":
36 # --- Usage Check and Argument Parsing ---
37
38 if len(sys.argv) < 3:
39 print("\n------------------------------------------------------------------")
40 print("Usage: python generate_input.py <COUNT> <OUTPUT_FILENAME> [MIN_VALUE] [MAX_VALUE]")
41 print("Example 1 (Default): python generate_input.py 1000 input.txt")
42 print("Example 2 (Custom Range): python generate_input.py 1000 big_data.txt -5000 -15000")
43 print("------------------------------------------------------------------")
44 sys.exit(1)
45
46 try:
47 # Required Arguments
48 count = int(sys.argv[1])
49 filename = sys.argv[2]
50
51 # Optional Arguments (Range)
52 min_val = -10000
53 max_val = 10000
54
55 if len(sys.argv) >= 4:
56 min_val = int(sys.argv[3])
57 if len(sys.argv) == 5:
58 max_val = int(sys.argv[4])
59
60 generate_random_file(count, filename, min_val, max_val)
61
62 except ValueError:
63 print("\n[ERROR] Count, Min Value, and Max Value must be valid integers.")
64 sys.exit(1)