Skip to content
This repository was archived by the owner on Jan 8, 2019. It is now read-only.

Latest commit

 

History

History
54 lines (41 loc) · 2.02 KB

File metadata and controls

54 lines (41 loc) · 2.02 KB

概要

指定したディレクトリ直下に配置されたファイルの中身を検索する関数 search を作成しましょう。 ディレクトリとはWindowsでいうフォルダに相当します。

要件

  • 対象ディレクトリと検索文字列を渡すと対象ディレクトリ内の検索文字列に該当したファイルの名称を表示します。
  • 検索対象のディレクトリ内に更にディレクトリがある場合は考慮しなくて構いません。
    • その中のファイルは検索しなくても問題ありません。

入力データ

パラメータ名 説明
target_path 対象ディレクトリのパス
keyword 検索文字列

notes ディレクトリを表示する場合は以下のようになります。

search('notes/', '雪')

出力データ

  • 該当したファイル名を1行に1つ表示する。

想定結果

notes ディレクトリを表示した場合は以下のように表示されることを想定しています。

冬の庭.txt
雪の日.txt

ヒント

  • ディレクトリ内のファイル一覧を取得するときは os.listdir という関数を使います。

    • 実行例> os.listdir('notes')
      • ['丘.txt', '冬の庭.txt', '夏.txt', '夏の町.txt', '芥川龍之介', '雪の日.txt'] が得られます。
  • 特定の文字列が別の文字列に含まれるかどうかを調べるときは in を使います。

    • 実行例> 'b' in 'abc'
      • True が得られます。
    • 実行例> 'd' in 'abc'
      • False が得られます。
  • ファイルの中を読み込む場合は open 関数で開いたファイルを read 関数で読み込みます。

    • この時 with というコンテキストを使うことが推奨されています。
    • 実行例>
    with open('search.py') as f:
          text = f.read()
  • 解答例