atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Intro to Python
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Intro to Python
  • ファイル・ディレクトリの操作

Intro to Python

ファイル・ディレクトリの操作

最終更新:2025年03月10日 23:44

introtopython

- view
管理者のみ編集可

目次

  • 目次
  • ファイルやディレクトリの存在を確認する
  • ファイルかディレクトリかを判定する
  • ファイルやディレクトリのパスを連結する

ファイルやディレクトリの存在を確認する

os.pathモジュールのexists関数を使う。exists関数はファイルかディレクトリかを判別することできないことに注意。ファイルとディレクトリを判別するには、isfile関数かisdir関数を使う。

>>> import os
>>> os.path.exists("C:\\Windows")
True
>>> os.path.exists("C:\\macOS")
False
>>> os.path.exists("C:\\Windows\\win.ini")
True
>>> os.path.exists("C:\\Windows\\macOS.ini")
False
>>> os.path.isfile("C:\\Windows")
False
>>> os.path.isdir("C:\\Windows")
True
>>> os.path.isfile("C:\\Windows\\win.ini")
True
>>> os.path.isdir("C:\\Windows\\win.ini")
False
>>> os.path.isfile("C:\\Windows\\macOS.ini")
False
>>> os.path.isdir("C:\\Windows\\macOS.ini")
False

ファイルかディレクトリかを判定する

os.pathモジュールのisfile関数かisdir関数を使う。存在しないファイルやディレクトリを指定した場合は、例外が発生したりはせず単純にFalseが返される。

>>> import os
>>> os.path.isfile("C:\\Windows")
False
>>> os.path.isdir("C:\\Windows")
True
>>> os.path.isfile("C:\\Windows\\win.ini")
True
>>> os.path.isdir("C:\\Windows\\win.ini")
False
>>> os.path.isdir("C:\\macOS")
False
>>> os.path.isdir("C:\\Windows\\macOS.ini")
False

ファイルやディレクトリのパスを連結する

osモジュールのpath.join関数を使う。以下は、自動的に削除される一時ディレクトリを利用して、temp1.txtとtemp2.txtという2つのファイルについてパスを連結して出力と読み込み行った例。文字コードはUTF-8にしてpathjoin.pyと保存する。一方はpath.join関数を使って連結し、もう一方は+演算子を使用して手動で文字列として連結して行っている。いずれも問題なく読み書きできることが分かる。

ソースコード

# coding=utf_8
import os
import tempfile
with tempfile.TemporaryDirectory() as tempd:
    with open(os.path.join(tempd, 'temp1.txt'), 'w+t') as f1:
        with open(tempd + os.path.sep + 'temp2.txt', 'w+t') as f2:
            print('[一時ファイル1と2の作成]')
            print(f1.name)
            print(f2.name)
            print('[一時ファイル1への書き出し]')
            f1.write('スノウブレイクのリフ-ムゲン知眼役の瀬戸麻紗美さん')
            f1.write('かわいい')
            print('[一時ファイル2への書き出し]')
            f2.write('マクロスΔのフレイア役の鈴木みのりさん')
            f2.write('かわいい')
            f1.seek(0)
            f2.seek(0)
            print('[一時ファイル1と2からの読み込み]')
            print(f1.read())
            print(f2.read())

実行結果

(base) >python pathjoin.py
[一時ファイル1と2の作成]
C:\Users\○○○\AppData\Local\Temp\○○○\temp1.txt
C:\Users\○○○\AppData\Local\Temp\○○○\temp2.txt
[一時ファイル1への書き出し]
[一時ファイル2への書き出し]
[一時ファイル1と2からの読み込み]
スノウブレイクのリフ-ムゲン知眼役の瀬戸麻紗美さんかわいい
マクロスΔのフレイア役の鈴木みのりさんかわいい
「ファイル・ディレクトリの操作」をウィキ内検索
LINE
シェア
Tweet
Intro to Python
記事メニュー

メニュー

  • トップページ
  • 画面出力と入力
  • 変数とオブジェクト
  • 演算子と制御構文
  • リスト
  • 数と式
  • 文字と文字列
  • 正規表現
  • 行列
  • 日付と時刻
  • ファイル・ディレクトリの操作
  • テキストファイルの入出力
  • 画像
  • 実行とデバッグ
  • 数学
  • NumPy
  • エラーメッセージ
  • 環境
  • テキストマイニング
  • インターネット
  • Anaconda
  • その他

ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
最近更新されたページ
  • 6日前

    正規表現
  • 35日前

    メニュー
  • 38日前

    インターネット
  • 38日前

    画像
  • 53日前

    演算子と制御構文
  • 53日前

    変数とオブジェクト
  • 63日前

    リスト
  • 64日前

    Anaconda
  • 65日前

    ファイル・ディレクトリの操作
  • 65日前

    テキストファイルの入出力
もっと見る
最近更新されたページ
  • 6日前

    正規表現
  • 35日前

    メニュー
  • 38日前

    インターネット
  • 38日前

    画像
  • 53日前

    演算子と制御構文
  • 53日前

    変数とオブジェクト
  • 63日前

    リスト
  • 64日前

    Anaconda
  • 65日前

    ファイル・ディレクトリの操作
  • 65日前

    テキストファイルの入出力
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. R.E.P.O. 日本語解説Wiki
  2. VCR GTA3まとめウィキ
  3. ドタバタ王子くん攻略サイト
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
  6. STAR WARS ジェダイ:サバイバー攻略 @ ウィキ
  7. アサシンクリードシャドウズ@ ウィキ
  8. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  9. SYNDUALITY Echo of Ada 攻略 ウィキ
  10. ドラゴンボール Sparking! ZERO 攻略Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. oblivion xbox360 Wiki
  5. 初音ミク Wiki
  6. 検索してはいけない言葉 @ ウィキ
  7. SDガンダム ジージェネレーションクロスレイズ 攻略Wiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 石川啄木 - アニヲタWiki(仮)
  3. バスク・オム - アニヲタWiki(仮)
  4. サイコガンダム - アニヲタWiki(仮)
  5. ムーチョ 文岡 - ストグラ まとめ @ウィキ
  6. ロスサントス警察 - ストグラ まとめ @ウィキ
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  9. 柳田 ライアン - ストグラ まとめ @ウィキ
  10. 発車メロディー変更履歴 - 発車メロディーwiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.