Pythonに挑戦(7)その(3)

Pythonに挑戦(7)その(2)からの続き

(h) glob
引数で指定されたパターンにマッチするファイルのリストを作成するglob()という関数が入っているモジュールです。test1.pytest2.pyという2つのファイルと、a1.txtというファイルが入っているサブディレクトリabcdが入っている、C:\python1というディレクトリに対して、

ef1 = glob.glob(“C:\\python1\\*”)
print(ef1)
とすると、‘*’はすべてのファイルにマッチするので、画面に、

[‘C:\\python1\\abcd’, ‘C:\\python1\\test1.py’, ‘C:\\python1\\test2.py’]
と表示します。recursive = Trueをつけて、

ef2 = glob.glob(“C:\\python1\\*”, recursive = True)
print(ef2)
としても、

[‘C:\\python1\\abcd’, ‘C:\\python1\\test1.py’, ‘C:\\python1\\test2.py’]
と表示しますが、‘*’‘**’として、

ef2 = glob.glob(“C:\\python1\\**”, recursive = True)
print(ef2)
とすると、サブディレクトリの中も探索して、

[‘C:\\python1\\’, ‘C:\\python1\\abcd’, ‘C:\\python1\\abcd\\a1.txt’, ‘C:\\python1\\test1.py’, ‘C:\\python1\\test2.py’]
と表示します。

ef4 = glob.glob(“C:\\python1\\test?.py”)
print(ef4)
とすると、test1.pytest2.pyだけがマッチして、

[‘C:\\python1\\test1.py’, ‘C:\\python1\\test2.py’]
と画面に表示します。

ef5 = glob.glob(“C:\\python1\\*2.py”)
print(ef5)
とすると、test2.pyだけがマッチして、

[‘C:\\python1\\test2.py’]
と画面に表示します。

(i) sys
Pythonの実行環境に関する情報が得られるモジュールです。sys.versionとするとPythonversionが得られます。sys.platformとするとPythonのプラットフォームが得られます。sys.argvとすると、コマンドライン引数がリストで取得できます。

import sys
argv1 = sys.argv
print(“Python
version“, sys.version, “Pythonplatform“, sys.platform)
print(“Python
の著作権表示:“, sys.copyright)
print(“
引数の数“, len(argv1))
print(argv1)
sys.exit(0)
以下をtest2.pyに入れて、コマンドラインから

py test2.py a1 b2 c3
と打ち込むと、画面に、

Pythonversion: 3.12.0 ・・・・・ Pythonplatformwin32
Python
の著作権表示:Cpyright (c) 1991-1995 ・・・・・
All Rights Reserved.
引数の数: 4
[‘test2.py’, ‘a1’, ‘b2, ‘c3’]
と表示します。コマンドライン引数をつけた形で、IDLEからコマンドライン引数をつけてtest2.pyを起動するためには、IDLERunメニューの[Run… Customised]サブメニューを使います(出てくるテキストボックスに、“a1 b2 c3”と入れて[OK]をクリックすると、コマンドラインから起動したのと同様の効果が得られます)。上記の末尾の、sys.exit(0)は、終了ステータス0でプログラムを終了します。

(j) pdb
デバグ用のモジュールです。プログラム開発のデバグのところに簡単な使い方の説明があります(近日中に公開します)

(k) tkinter
画面にウィンドウを作って、ウィンドウ内で作業するためのモジュールです。このモジュールがダウンロードしたPythonに含まれるかどうか、コマンドラインプロンプトから、
py -m tkinter
と打ち込むことにより確認できます。小さなウィンドウが開いて、Tcl/Tkのバージョンがいくつ、と書いてあれば、正しくインストールされています。インストールされていない場合は、最新のPythonをダウンロードしてください。tkinterで必要となるモジュールは幾つかにまたがっているので、最初に、

from tkinter import *
from tkinter import ttk
と宣言して、tkinter内のモジュール(“tkinter.”を付けなくてもそのままの名前で使えます)と、tkinter.ttkモジュールをimportします。次に、

root = Tk()
root.title(“
テストします“)
txt1 = StringVar()
frm1 = ttk.Frame(root, padding=10)
frm1.grid()
ttk.Label(frm1, text=”
こんにちは。“).grid(column=0, row=0)
ttk.Entry(frm1, textvariable=txt1).grid(column=1,row=0)
ttk.Button(frm1, text=”
中止“, command=root.destroy).grid(column=0, row=1)
root.attributes(“-topmost”, True)
root.mainloop()
print(“
入力:“, txt1.get())
とすると、Tkクラスのインスタンスを作成してルート・ウィンドウを作成し、「こんにちは。」と書かれたラベルとテキスト入力枠、[中止]ボタンを有するフレーム・ウィジェットfrm1を作成し、最前面に表示します。テキスト入力枠をクリックして何か入力し、[中止]ボタンをクリックすると、ウィンドウを閉じて、root.mainloop()の次のprint(“入力:“,txt1.get())を実行し、テキスト入力枠に入力した内容を表示します。
Tkinterについては、詳細に書くと1冊の本になってしまうので、ネットで検索して調べてください。


  ブログTOP  TOPページに戻る


各問題の著作権は
出題大学に属します。

©2005-2024
(有)りるらる
苦学楽学塾 随時入会受付中!
理系大学受験ネット塾苦学楽学塾
(ご案内はこちら)ご入会は、
まず、こちらまでメール
お送りください。


【広告】 ここから広告です。ご覧の皆さまのご支援ご理解を賜りたく、よろしくお願いいたします。
【広告】 広告はここまでです。
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする