PythonからWindows RuntimeのAPIを使ってみる
Microsoftが公開しているモジュールを使って、PythonからWindows Runtime APIを呼び出してみました。
目次
環境
Windows Runtime (WinRT)というのは、Windows8で実装されたModern UI用のAPIです。今のところ Windows10 でも使用できるようになっています。このAPIにPythonからアクセスしてみます。
Windows10 Home 1903 (公式サイトではOctover 2018アップデート以降に対応とのこと)
Python 3.7
準備
MicrosoftがPython用の winrtというモジュール を公開しているので、pipでインストールします。
> pip install winrt
試してみた
公式サイトにあるコードを動かしてみます。
import winrt.windows.foundation as wf
u = wf.Uri("https://github.com/")
u2 = u.combine_uri("Microsoft/xlang/tree/master/src/tool/python")
print(str(u2))
出力はこうなります。
> python test.py
https://github.com/Microsoft/xlang/tree/master/src/tool/python
これだけだと何をしているのかさっぱりわかりませんので、もう少しコードを見てみます。
importのところでインポートしているwindows.foundationですが、これはWindows Runtime APIのWindows.Foundation名前空間のことです。
u = wf.Uri("xxx") で、Windows.Foundation名前空間の Uriクラス のオブジェクトを作っています。このクラスは、URIをあれこれ操作するためのクラスです。コンストラクターにxxxを引数として渡すと、そのxxxがURIのベースになります。
次の行のconbine_uri()はUriオブジェクトのメソッドです。アドレスを引数として渡すと、ベースのURIと結合したURIを返します。Microsoftのドキュメントによると戻り値の型はSystem.Uriとなっています。文字列ではないのですね。
combine_uri()メソッドの戻り値の型は、stringではなく _winrt_Windows_Foundation.Uri
になります。そこで最後の行ではstr()で文字列に変換してます。
公開日
広告
Pythonカテゴリの投稿
- PythonからWindows RuntimeのAPIを使ってみる
- Pythonから外部のアプリケーションを実行する
- PythonでApacheのログを読む
- PythonでURLを結合する
- PythonでURLを解析する
- Pythonでtar.gzなファイルを解凍(展開)する
- Pythonでwavファイルを書き出す
- Pythonでwavファイルを読み込む
- Pythonでデータを整形して出力する
- Pythonでハミング窓関数を作る(SciPy編)
- Pythonでブール値を数値に変換する
- Pythonでモジュールをインポートする
- Pythonで数値を比較する
- Pythonで文字の内容から真偽値の判定をする
- Pythonで自前の関数を定義する
- Pythonで論理演算する
- Pythonのprint関数で改行せずに出力する
- Pythonのプログラムを終了する
- Pythonの関数には参照を渡す
- Windows10 バージョン1703 Creators Update にPythonとSphinxをインストール
- Windwos10 バージョン1703 Creators Update にPythonとSphinxをインストール (Anaconda編)
- reStructuredTextの表
- ダウンロードしたファイルのチェックサムをPythonで確認してみた
- 反復処理 (while)
- 反復処理(for)
- 条件分岐
- 自作のモジュールをインポートする