파이썬 파일 생성관련 오류 질문

조회수 430회

파이썬 openpyxl 을 통해서 파일을 생성할 때 vscode 환경에서 실행을 하면 잘 실행이 되지만 pyinstaller를 통해서 exe 파일을 통해 실행하게 되면 에러가 발생합니다..ㅠㅜ 계속 찾아봤는데 도저히 해결이 안되네요.. 경로의 문제는 아닌 것 같고 파일을 생성해서 작성한 다음에 저장하는 부분에서 문제가 발생하는 것 같은데 어떻게 해결해야 할 지 도저히 모르겠습니다.

from openpyxl import Workbook

wb = Workbook()

# grab the active worksheet
ws = wb.active


# Data can be assigned directly to cells
ws['A1'] = 42

# Rows can also be appended
ws.append([1, 2, 3])

# Python types will automatically be converted
import datetime
ws['A2'] = datetime.datetime.now()

# Save the file
wb.save("test.xlsx")

print("Complete!")

# 라인 정지
a = input()

이미지

  • 절대 경로로 설정해보세요. 초보자 2022.7.23 10:00

1 답변

  • 재시도 (실패)

    경로의 문제인가 싶어서 경로를 절대 경로로 하여 아래의 코드를 진행해봤습니다.

    from openpyxl import Workbook
    import os
    
    dir = r"C:\Users\82107\Desktop\TEST"
    
    os.chdir(dir)
    
    # ------ txt 파일 만들기1
    open("test1.txt", "a", encoding='utf-8').close()
    f = open("test1.txt", "w")
    f.write("테스트1")
    f.close()
    print("test1 생성 성공!")
    
    # ----- txt 파일 만들기2
    # open("test2.txt", "a").close()
    f = open("test2.txt", "w")
    f.write("테스트2")
    f.close()
    print("test2 생성 성공!")
    
    
    # ----- xlsx 파일 만들기
    wb = Workbook()
    ws = wb.active
    ws['A1'] = 42
    ws.append([1, 2, 3])
    import datetime
    ws['A2'] = datetime.datetime.now()
    wb.save("test_xlsx.xlsx")
    print("test_xlsx 생성 성공!")
    
    a = input()
    

    vscode 환경에서 실행을 했을 때는 아래와 같이 파일이 정상적으로 잘 생성되었습니다. 이미지

    하지만 pyinstaller -w -F test.py 명령을 통해 test.exe 파일을 만들어서 exe 파일을 실행하였을 때는 test1.txt 파일은 성공적으로 생성이 되었지만 test2.txt, test_xlsx.xlsx 파일은 생성되지 않고 다음과 같은 에러가 발생했습니다.

    이미지

    에러

    이미지

    • 모든 경로를 절대 경로로 해야죠.. 초보자 2022.7.23 12:48
    • 안됩니다.. 김정현 2022.7.23 21:15

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)