Python에서 빠른 쉬운 파일 대화?
파일을 구문 분석하고 그 내용을 데이터베이스에로드하는 간단한 펼쳐보기가 있습니다. 나는 UI가 필요하지 않지만 파일 , 특히 가 필요하지 않기 raw_input
때문에 복사 / 사용자에게 사용자에게 요청 하지 않기 때문에 가장 큰 파일 경로를 사용하여 구문 분석 할 수 있습니다. 사용자에게 파일 선택 대화 상자를 표시하는 빠르고 쉬운 방법을 원합니다. 사용자가 파일을 선택한 다음 데이터베이스에로드 할 수 있습니다. (제 사용 사례에서 우연히 잘못된 파일을 선택하면 파싱에 실패하고 데이터베이스에로드 되어도 문제가 발생하지 않습니다.)
import tkFileDialog
file_path_string = tkFileDialog.askopenfilename()
이 코드는 내가 원하는 것과 비슷한 것입니다. 성가신 빈 프레임을 열어서 이벤트를 등록하지 않은 상황 기 때문일 것입니다.
tkInter를 사용할 필요는 없지만 Python 표준 라이브러리에 가장 빠르고 쉬운 솔루션을위한 후보입니다.
다른 UI없이 펼쳐에서 파일 또는 파일 이름을 빠르고 쉬운 방법은 무엇입니까?
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()
easygui 를 사용할 수 있습니다 .
import easygui
path = easygui.fileopenbox()
를 설치 한 다음 사용할 수 있습니다 .easygui
pip
pip3 install easygui
를 사용하는 단일 순수 Python 모듈 ( easygui.py
)입니다 tkinter
.
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')
UI가 필요하지 않거나 프로그램이 CLI에서 실행될 것으로 예상하는 경우 파일 경로를 인수로 구문 분석 할 수 있습니다. 이렇게하면 CLI의 자동 완성 기능을 사용하여 필요한 파일을 빠르게 찾을 수 있습니다.
이것은 스크립트가 파일 경로 입력 외에 비대화 형인 경우에만 유용 할 것입니다.
- 작업을 수행해야합니다 매우 사용하기 쉬운 모듈에는 EasyGUI을 확인 http://easygui.sourceforge.net/을
이 API 문서 페이지 ( https://easygui.readthedocs.io/en/latest/api.html) 에 자세히 설명 된 fileopenbox 함수를 사용합니다.
pywin32
GetOpenFileName
win32 기능에 대한 액세스를 제공 합니다. 로부터 예
import win32gui, win32con, os
filter='Python Scripts\0*.py;*.pyw;*.pys\0Text files\0*.txt\0'
customfilter='Other file types\0*.*\0'
fname, customfilter, flags=win32gui.GetOpenFileNameW(
InitialDir=os.environ['temp'],
Flags=win32con.OFN_ALLOWMULTISELECT|win32con.OFN_EXPLORER,
File='somefilename', DefExt='py',
Title='GetOpenFileNameW',
Filter=filter,
CustomFilter=customfilter,
FilterIndex=0)
print 'open file names:', repr(fname)
print 'filter used:', repr(customfilter)
print 'Flags:', flags
for k,v in win32con.__dict__.items():
if k.startswith('OFN_') and flags & v:
print '\t'+k
참고 URL : https://stackoverflow.com/questions/9319317/quick-and-easy-file-dialog-in-python
'IT' 카테고리의 다른 글
div 배경색, onhover 변경 (0) | 2020.09.11 |
---|---|
폴더에서 특정을 가진 파일 찾기 (0) | 2020.09.11 |
C ++에서 노드를 문자 배열로 변환하는 방법은 무엇입니까? (0) | 2020.09.11 |
암호 해시에 대한 비 랜덤 솔트 (0) | 2020.09.11 |
HTTP 상태 코드 0은 의미가 있습니까? (0) | 2020.09.11 |