Python 3 エンジニア認定実践試験対策10. 汎用OS・ランタイムサービス

投稿日:

更新日:

カテゴリ:

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スクリプトを書いてください。

  1. os.count_files(directory)
  2. os.listdir(directory)
  3. len(os.get_files(directory))
  4. len(os.listdir(directory))

正解は:

↓↓

↓↓↓

↓↓↓↓

↓↓↓↓↓

↓↓↓↓↓↓

↓↓↓↓↓↓↓

↓↓↓↓↓↓↓↓

↓↓↓↓↓↓↓↓↓

↓↓↓↓↓↓↓↓↓↓

4. len(os.listdir(directory))

ChatGPTなので、念のため結果は次のように確認しました。

>>> len(os.listdir('.'))
7

皆さんあってましたでしょうか。ChatGPTはいい感じで出してくれてますね!

これ確認しなくても良ければ、ChatGPTにはどんどん問題出してほしいです!

鵜呑みして痛恨のミスになる恐れがありますので、使い方には注意ですね。

試験前に時間があれば、またChatGPTに問題出してもらいます!


投稿日

カテゴリー:

投稿者:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です