그래서 난 uuid4와 함께 임의의 숫자와 문자를 생성하는 스크립트 작업을하고 있습니다. 생성 된 키는 목록에 저장되며이 목록은 "already_used.txt"라는 파일에 저장됩니다. 내 질문 :생성 된 키가 이미 파일에 존재하는지 확인
생성 된 키가 already_used 파일에 있지 않도록 확인하여 고유 키를 얻을 수있는 방법은 무엇입니까? 이 같은
import uuid
checklist_idfile = open('already_used.txt', 'a')
already_used = []
def checklist(string_length=9):
count = 0
while count < 20:
count += 1
checklist_random = str(uuid.uuid4())
checklist_random = checklist_random.replace("-","")
checklist_prefix = 'TEST_'
id_checklist_random = checklist_prefix + checklist_random[0:string_length]
print id_checklist_random
already_used.append(id_checklist_random)
checklist_idfile.write(id_checklist_random)
checklist_idfile.write('\n')
생성 된 키 외모 : TEST_d1c23ba2f 대단히 감사합니다! 컬렉션의 경우 것으로,
if key in collection: do_something()
하지만 조심 : 당신은 in
키워드 컬렉션의 키를 확인할 수 있습니다
with open("already_used.txt", "r") as used:
already_used = {x.rstrip() for x in used}
if not some_key in already_used:
doing somethig
...
실제 데이터베이스를 사용하는 것이 더 편리 할 수 있습니다. sqlite3이 목적을 위해 잘 할 수 있습니다. – Evert
그러나 그렇지 않으면 : 파일을 읽고 줄 바꿈을하여 문자열 목록을 얻은 다음 현재 키가 문자열 목록에 없는지 테스트하십시오. 너 그거 해봤 니? – Evert