Pythonの汎用OS・ランタイムサービスについてです。
ファイルとディレクトリ操作がよく使われるではないかと思いますが、Linux/Unix系のコマンド触ったことがあるなら、似たような関数になってますので、覚えやすいかもしれません。
要点
テキストの「10 汎用OS・ランタイムサービス」の内容について、自分なりにまとめた要点は以下です。
内容は少し多めですが、ご参考になれば嬉しいです。
余談
sys.exit()はシステムコールのように強力に見えますが、finallyやwithを使って後処理ができるようです。
finallyを使った場合の後処理:
>>> import sys
>>> try:
... sys.exit('sys.exit() is called')
... finally:
... print('finally is called')
...
finally is called
sys.exit() is called
withを使った場合の後処理:
>>> import sys
>>> class Resource:
... def __enter__(self):
... pass
... def __exit__(self, exc_type, exc_value, traceback):
... print('__exit__ is called')
...
>>> with Resource():
... sys.exit('sys.exit() is called')
...
__exit__ is called
sys.exit() is called
with文を忘れた方(私)、、テキストP48で復習しましょう!あとは、3.2. Pythonの言語仕様 – with文もおさらいしておきましょう!
模擬問題
ChatGPTにこの章について出題させて見ました:
Pythonのosモジュールを使用して、指定されたディレクトリ内のファイル数をカウントするPythonスクリプトを書いてください。
os.count_files(directory)
os.listdir(directory)
len(os.get_files(directory))
len(os.listdir(directory))
正解は:
↓
↓↓
↓↓↓
↓↓↓↓
↓↓↓↓↓
↓↓↓↓↓↓
↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓
4. len(os.listdir(directory))
ChatGPTなので、念のため結果は次のように確認しました。
>>> len(os.listdir('.'))
7
皆さんあってましたでしょうか。ChatGPTはいい感じで出してくれてますね!
これ確認しなくても良ければ、ChatGPTにはどんどん問題出してほしいです!
鵜呑みして痛恨のミスになる恐れがありますので、使い方には注意ですね。
試験前に時間があれば、またChatGPTに問題出してもらいます!
コメントを残す