복붙노트

[PYTHON] 파이썬에서 빠르고 쉬운 파일 대화 상자?

PYTHON

파이썬에서 빠르고 쉬운 파일 대화 상자?

나는 파일을 파싱하고 그 내용을 데이터베이스에로드하는 간단한 스크립트를 가지고있다. UI는 필요 없지만 지금은 사용자가 파일을 가장 친숙하지 않은 raw_input을 사용하여 구문 분석하도록 요구하고 있습니다. 특히 사용자가 경로를 복사 / 붙여 넣기 할 수 없기 때문입니다. 파일 선택 대화 상자를 사용자에게 빠르고 쉽게 제시하고 파일을 선택할 수 있으며 데이터베이스에로드됩니다. (필자의 경우, 잘못된 파일을 선택했다면 파싱에 실패하고 데이터베이스에로드 된 경우에도 문제가되지 않습니다.)

import tkFileDialog
file_path_string = tkFileDialog.askopenfilename()

이 코드는 내가 원하는 것에 가깝지만 짜증나는 빈 프레임을 열어 둡니다 (닫을 수없는 이유는 아마도 close 이벤트 핸들러를 등록하지 않았기 때문일 수 있습니다).

tkInter를 사용할 필요는 없지만, Python 표준 라이브러리에 있기 때문에 가장 빠르고 쉬운 솔루션을위한 좋은 후보입니다.

다른 UI없이 스크립트에서 파일이나 파일명을 물어 보는 빠르고 쉬운 방법은 무엇입니까?

해결법

  1. ==============================

    1.Tkinter는 다른 의존성을 원하지 않는다면 가장 쉬운 방법입니다. 다른 GUI 요소없이 대화 상자 만 표시하려면 withdraw 메서드를 사용하여 루트 창을 숨겨야합니다.

    Tkinter는 다른 의존성을 원하지 않는다면 가장 쉬운 방법입니다. 다른 GUI 요소없이 대화 상자 만 표시하려면 withdraw 메서드를 사용하여 루트 창을 숨겨야합니다.

    import tkinter as tk
    from tkinter import filedialog
    
    root = tk.Tk()
    root.withdraw()
    
    file_path = filedialog.askopenfilename()
    

    Python 2 변형 :

    import Tkinter, tkFileDialog
    
    root = Tkinter.Tk()
    root.withdraw()
    
    file_path = tkFileDialog.askopenfilename()
    
  2. ==============================

    2.easygui를 사용할 수 있습니다.

    easygui를 사용할 수 있습니다.

    import easygui
    
    path = easygui.fileopenbox()
    

    easygui를 설치하려면 pip를 사용할 수 있습니다.

    pip3 install easygui
    

    이것은 tkinter를 사용하는 단일 순수 파이썬 모듈 (easygui.py)입니다.

  3. ==============================

    3.wxPython을 사용해보십시오.

    wxPython을 사용해보십시오.

    import wx
    
    def get_path(wildcard):
        app = wx.App(None)
        style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST
        dialog = wx.FileDialog(None, 'Open', wildcard=wildcard, style=style)
        if dialog.ShowModal() == wx.ID_OK:
            path = dialog.GetPath()
        else:
            path = None
        dialog.Destroy()
        return path
    
    print get_path('*.txt')
    
  4. ==============================

    4.UI가 필요하지 않거나 프로그램이 CLI에서 실행될 것으로 예상되면 파일 경로를 인수로 구문 분석 할 수 있습니다. 이렇게하면 CLI의 자동 완성 기능을 사용하여 필요한 파일을 빠르게 찾을 수 있습니다.

    UI가 필요하지 않거나 프로그램이 CLI에서 실행될 것으로 예상되면 파일 경로를 인수로 구문 분석 할 수 있습니다. 이렇게하면 CLI의 자동 완성 기능을 사용하여 필요한 파일을 빠르게 찾을 수 있습니다.

    스크립트가 파일 경로 입력 외에 비대화 형일 경우에만 유용 할 것입니다.

  5. ==============================

    5.작업을 수행해야하는 모듈 인 사용하기 쉬운 EasyGUI를 확인하십시오. - http://easygui.sourceforge.net/

    작업을 수행해야하는 모듈 인 사용하기 쉬운 EasyGUI를 확인하십시오. - http://easygui.sourceforge.net/

    fileopenbox 함수 (http://www.ferg.org/easygui/easygui.html#-fileopenbox)를 사용합니다.

  6. from https://stackoverflow.com/questions/9319317/quick-and-easy-file-dialog-in-python by cc-by-sa and MIT license