# checks a string for illegal characters # string = string to be checked # allow_chars = allowed characters should be passed as a string def char_check(string, allow_chars): # default allow_chars value if allow_chars == None: allow_chars = ascii_letters + digits #allowed_char = ascii_letters + digits + "_" + "-" if set(string).difference(allow_chars): return True else: return False def dict_key_verify(dictionary, keys, mode="and", *args, **kwargs): # checks if the dictionary exists, if the key exists as a field and if that fields value is not none # can be used to check if multiple keys exist if mode != "and" and mode != "or": mode = "and" if type(keys) != list: keys = [keys] verified = [] if type(keys) != list: keys = [keys] for key in keys: if type(dictionary) != dict or key not in dictionary or not dictionary[key]: verified.append(False) else: verified.append(True) if mode == "and": if all(verified) == True: return True if mode == "or": if True in verified: return True return False if __name__ == "__main__": data = {'name': "joe", 'job': "cuck", 'age': "69"} answer = dict_key_verify(data, ['job', 'names'], "and") print(answer)