【Python】ファイル操作【チートシート】

python_一問一答サンプル集

ファイルの存在確認

ファイルもしくはフォルダの存在確認

import os
os.path.exists('test.txt')

ファイルだけの存在確認

import os
os.path.isfile('./test.txt')

フォルダだけの存在確認

import os
os.path.isdir('./my_folder')

フォルダ内一覧表示

フォルダ内にあるもの全て表示

import glob

files = glob.glob("C:\Users\417\Desktop\*") //*はワイルドカード
print(files)

フォルダ内テキストファイル一覧取得

import glob

files = glob.glob("C:\Users\417\Desktop\*.text") //*はワイルドカード
print(files)

テキストファイル読み込み・書き込み

MEMO

# withだとclose呼ばなくてもいいよ
with open('test.txt') as f:
    print(f.read())
# closeを好きな場所でできるよ
f = open('test.txt')
print(f.read())
f.close()

全部読み込み


with open('test.txt', encoding='utf-8') as f:
    result = f.read()

行単位で配列として


with open('test.txt', encoding='utf-8') as f:
    result = f.readlines()

行単位で、呼ぶたびに次の行


with open('test.txt') as f:
    result = f.readline()
    result = f.readline()

新規ファイル作成、上書き


with open('test.txt', mode='w') as f: # mode='w' は書き込みモード
    f.write('新規ファイル作成 or 上書き')

末尾に追記


with open('test.txt', mode='a') as f: # mode='a' は追記
    f.write('末尾に追記')

〇〇文字目に入れ込む


with open('test.txt', mode='r+') as f: # mode='r+' は読み込み+書き込み
    f.seek(7)
    f.write('7文字目に入れ込む')

ファイルの名前変更、場所の移動


import os
os.rename('test.txt', 'folder/test2.txt')

関連エラー

Non-UTF-8 code starting with~~

原因 : pyファイルがUTF-8で保存されていない

UnicodeDecodeError: 'cp932' codec can't decode~~

原因 : cp932(sift-jis)として読み込もうとしているので、形式を指定しましょう。


open('test.txt', encoding='utf-8')

コメントを残す

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