Python: GUI에서 파일 처리 방법 선택

14773 단어 Python3Python

이 보도에 관하여


파이톤을 사용하여 데이터 처리 프로그램을 만들 때, 나는 정말 초보였을 때, 파일을 처리하는 경로를 스크립트에 직접 썼다.
다만, "이 폴더에 파일을 넣지 않으면 처리할 수 없다", "파일 이름이 이 규격이다"등 통용성이 너무 낮아 완전히 자체 전용 프로그램이다.
그래서 GUI에서 처리 파일을 선택하기 위해 나는 아주 오래 전에 방법을 찾았다.
그 조사 결과도 메모로 남기고

처리 환경


・Windows 722 bit
・Python 3.6.2
※ 원래 파이썬 2.7.5 제작된 코드는 최신 파이썬 3입니다.6.2로 변환합니다.

샘플 코드


샘플로 선택한 파일의 절대 경로를 정보 상자로 표시하는 코드를 소개합니다.
[2019.03.10 보충]
Anaconda가 설치된 환경에서 실행하면 오류가 발생합니다.
나만 있었으면 좋겠다.
Anaconda에서 Python을 사용하는 사람을 주의하십시오.
나는python 파일 이름을'tkinter.py'로 바꿨기 때문이라고 생각한다.너무 초보적이야.
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox

# ファイル選択ダイアログの表示
root = tkinter.Tk()
root.withdraw()
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!')
file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)

# 処理ファイル名の出力
tkinter.messagebox.showinfo('○×プログラム',file)
 
위 코드를 복사하고 실행하십시오.
환경과 파일의 배치 장소에 의존하지 않기 때문에 이동할 수 있습니다^^
<프로세스 결과>
① 실행 스크립트 파일

② 명령 화면 및 메시지 상자 표시
※ 화면을 명령할 필요가 없는 사람은 스크립트 파일의 확장자를 ".pyw"로 설정하면 표시되지 않습니다.

③ OK를 눌러 파일 선택
대화 상자의 표시 경로는 iDir=에서 스크립트 파일 배치 위치와 동일한 경로로 설정됩니다.

④ 파일을 선택하고 [열기]를 선택하면 정보 상자에 절대 경로가 표시됩니다.

괜찮은 것 같지!?
초보자라도 다음 코드를 복사하면 GUI에서 처리 파일을 선택할 수 있습니다.
나도 가끔 마법 코드를 복제해서 사용한다.
※ 하지만 파이썬 버전은 주의하세요.
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox

# ファイル選択ダイアログの表示
root = tkinter.Tk()
root.withdraw()
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!')
file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)

추가 정보


① 선택한 파일만 특정 확장자로 압축
예) 파일을 선택할 때 CSV 파일만 표시됩니다.
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox

# ファイル選択ダイアログの表示
root = tkinter.Tk()
root.withdraw()

# ここの1行を変更 fTyp = [("","*")] → fTyp = [("","*.csv")]
fTyp = [("","*.csv")]

iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!')
file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)

# 処理ファイル名の出力
tkinter.messagebox.showinfo('○×プログラム',file)

 
② 여러 파일을 선택하려는 경우
예) 여러 선택한 파일의 절대 경로 목록 만들기
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox

# ファイル選択ダイアログの表示
root = tkinter.Tk()
root.withdraw()
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!')

# ここの1行を変更 askopenfilename → askopenfilenames
file = tkinter.filedialog.askopenfilenames(filetypes = fTyp,initialdir = iDir)

# 選択ファイルリスト作成
list = list(file)
tkinter.messagebox.showinfo('○×プログラム',list)

※ 선택한 파일 그룹은 모듈로 저장됩니다.
※ 리스트를 원하시면 아래 1행으로 나열하십시오.
list = list(file)
 
③ 디렉터리를 선택할 때
예) 선택한 디렉토리의 경로 표시
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox

# フォルダ選択ダイアログの表示
root = tkinter.Tk()
root.withdraw()
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('○×プログラム','対象ディレクトリを選択してください!')

# ここの1行を変更
dir = tkinter.filedialog.askdirectory(initialdir = iDir)


# 処理ディレクトリパスの出力
tkinter.messagebox.showinfo('○×プログラム',dir)

 
④Python2.x와 다르다
Python2.7.5의 코드.6.2 교체 시 변경된 점은 모듈 이름뿐입니다.
<모듈 이름 바꾸기>
・Tkinter→twitter
・tkFileDialog→twitter.filedialog
・tkMessageBox→tkinter.messagebox

좋은 웹페이지 즐겨찾기