>source

현재 비어있는 Savings.txt 파일이 있습니다. 이 프로그램이 파일을 읽고 파일이 비어 있으면 user_balance 함수를 호출합니다. 비어 있지 않으면 메뉴 함수를 호출하십시오.

이것이 내가 가진 것입니다.

check = []    
with open('Savings.txt', 'r') as f: 
    pre_check = f.readlines()
    check = pre_check
    if not check:
        user_balance()
    else:
        menu()

이것을 실행하면 파일이 비어 있어도 메뉴 기능으로 이동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

  • 답변 # 1

    소위 빈 파일에는 하나의 새 줄이있을 가능성이 큽니다. 그래서 .readlines 실제로 반환 ['\n'] -이것은 참으로 진실한 가치입니다.

    정의에 따라 "비어 있음"은 내용이없는 파일을 의미합니다.공백 무시-파일을 읽고 .strip 검사를 수행하기 전에 내용

    with open('Savings.txt', 'r') as f:
        content = f.read().strip()
        # Check if content is truthy/falsy
    
    

    .strip 선행 또는 후행 공백 (줄 바꿈 포함)을 제거합니다.

  • 이전 MongoDb에서 필드의 고유 값 수를 계산하는 하위 쿼리
  • 다음 database - Cassandra에서 점수 시스템을위한 테이블을 디자인하는 방법