여기서 문제는 open()
문자열을 전달해야한다는 것입니다. ask
은 문자열이 포함 된 변수이지만 다른 문자열 인 ".csv"
을 추가하여 파일 이름을 지정하고자합니다. 파이썬에서 +
은 문자열의 연결 연산자이므로 ask+".csv"
은 을 의미하고 ask의 내용은 .csv이 뒤 따른다. 현재 가지고있는 것은 csv
변수의 ask
변수를 찾고 오류가 발생합니다. 파일을 열 때
ask = ask if ask.endswith(".csv") else ask+".csv"
with open(ask, "w") as file:
file.write(output)
이 the with
statement 내 사용을 참고 :
with open(ask+".csv", "w") as file:
file.write(output)
는 또한 사용자가 이미 확장자를 입력 한 첫번째 경우 검사를 수행 할 수 있습니다. 가독성이 뛰어나고 예외적 인 경우에도 파일이 제대로 닫히도록하는 것이 좋습니다.
여기에 파이썬 ternary operator을 사용하여 조건을 기반으로 간단한 변수 할당을 수행합니다 (이미 ".csv"
으로 끝나면 설정을 요청하고 그렇지 않으면 연결 함).
또한 출력이 이미 CSV 파일에 적합하다고 가정 할 때 확장 프로그램만으로는 CSV가되지 않습니다. 일반적으로 CSV 데이터를 처리 할 때 the csv module을 확인하고 싶을 것입니다.