Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """CLI nástroj pro vyhledávání řádků se zadanými slovy"""
- import argparse
- def read_file(args):
- """Načte zadaný soubor a převede ho na seznam, kde každý prvek obsahuje právě jednu řádku ze souboru.
- Vstup: args; což je výstup funkce parse_args() od definovaného parseru
- Výstup: seznam všech řádků v souboru definovaném jako args.filename
- """
- try:
- list_file = []
- with open(args.filename, 'r') as file:
- for line in file.read().splitlines():
- list_file.append(line)
- if args.search is None:
- with open(args.filename, 'r') as file:
- count = 0
- for line in file.read().splitlines():
- count += 1
- print(count,":", line)
- except TypeError:
- print("Error: Insert a filename")
- except FileNotFoundError:
- print("Error: Wrong file name")
- return list_file
- def search(a_file):
- # a_file = read_file(args)
- """Načte zadaná slova a vrátí řádky, které slova obsahují"""
- list_ = []
- w_count = 0
- try:
- for searched_word in args.search:
- for compared_sentence in a_file:
- if searched_word in compared_sentence:
- list_.append(searched_word)
- print("Nalezena shoda: ", searched_word, "is in", compared_sentence)
- w_count += 1
- except TypeError:
- pass
- if __name__ == '__main__':
- parser = argparse.ArgumentParser(description='Nástroj k vyhledávání řádků se slovy')
- parser.add_argument("-f", "--filename", type=str, help="Předá soubor k vyhledávání, v případě nezadaných slov k vyhledání vypíše soubor")
- parser.add_argument("-s", "--search", nargs="+", help="Nalezne všechny řádky se zadanými slovy")
- args = parser.parse_args()
- file_for_searching = read_file(args)
- search(file_for_searching)
Add Comment
Please, Sign In to add comment