Advertisement
XenoTheStrange

Rot13 Python Script (Useful Enough For Me)

Jul 9th, 2023 (edited)
1,294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. #!/usr/bin/python3
  2. import os
  3. import sys
  4. import codecs
  5.  
  6. def rot(msg):
  7.     return codecs.encode(msg, "rot13")
  8.  
  9. def parse_arguments():
  10.     infile = None
  11.     outfile = None
  12.     log_to_terminal = True
  13.     msg = ""
  14.     for i, arg in enumerate(sys.argv[1:]):
  15.         if arg == "-i": #input file
  16.             msg += open(sys.argv[i+2], "r").read() + "\n"
  17.         elif arg == "-s": #silent
  18.             log_to_terminal = False
  19.         elif arg == "-t": #input text
  20.             msg += sys.argv[i+2] + "\n"
  21.         elif arg == "-o": #output file
  22.             outfile = sys.argv[i+2]
  23.     if msg == "":
  24.         print("No text was entered to be encoded. Please add text using -t \"text\" or -i \"/path/to/file\"")
  25.     return infile, outfile, log_to_terminal, msg
  26.  
  27. def main(infile, outfile, log_to_terminal, msg):
  28.     if not infile == None:
  29.         msg = open(infile, "r").read()
  30.     out = rot(msg)
  31.     if log_to_terminal:
  32.         print(out);
  33.     if not outfile == None:
  34.         file = open(outfile, "w")
  35.         file.write(out)
  36.         file.close()
  37.  
  38. if __name__ == "__main__":
  39.     if "--help" in sys.argv:
  40.         print("""Usage: ./script.py [-option] [data]\n  -i input file path\n  -s do not print output in terminal\n  -t input text\n  -o output to file path\n\nMultiple -t and -i options can be used. Each instance will be seperated by a new line.""")
  41.         exit()
  42.     infile, outfile, log_to_terminal, msg = parse_arguments()
  43.     main(infile, outfile, log_to_terminal, msg)
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement