Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import sys
- import os
- class FileSplitter:
- def __init__(self):
- self.parse_args(sys.argv)
- @staticmethod
- def run():
- splitter = FileSplitter()
- splitter.split()
- def split(self):
- file_number = 1
- line_number = 1
- print ("Splitting %s into multiple files with %s lines" % (os.path.join(self.working_dir, self.file_base_name+self.file_ext), str(self.split_size)
- ))
- out_file = self.get_new_file(file_number)
- for line in self.in_file:
- out_file.write(line)
- line_number += 1
- if line_number == self.split_size:
- out_file.close()
- file_number += 1
- line_number = 1
- out_file = self.get_new_file(file_number)
- out_file.close()
- print ("Created %s files." % (str(file_number)))
- def get_new_file(self,file_number):
- """return a new file object ready to write to"""
- new_file_name = "%s.%s%s" % (self.file_base_name, str(file_number), self.file_ext)
- new_file_path = os.path.join(self.working_dir, new_file_name)
- print ("creating file %s" % (new_file_path))
- return open(new_file_path, 'w')
- def parse_args(self,argv):
- """parse args and set up instance variables"""
- try:
- self.split_size = 1000
- if len(argv) > 2:
- self.split_size = int(argv[2])
- self.file_name = argv[1]
- self.in_file = open(self.file_name, "r")
- self.working_dir = os.getcwd()
- self.file_base_name, self.file_ext = os.path.splitext(self.file_name)
- except Exception as e:
- print(e)
- def usage(self):
- return ("""
- Usage:
- $ python file_splitter.py <file_name> nomor per baris
- """)
- if __name__ == "__main__":
- os.system('cls' if os.name == 'nt' else 'clear')
- print("""
- [+] Lust - Serizawa
- [+] Expl0it th1s w0rld
- """)
- FileSplitter.run()
Add Comment
Please, Sign In to add comment