ローカルフォルダのファイル名一覧をリストで取得
import os
# ファイルを読み込むディレクトリ
dir = 'local'
# 読み込みディレクトリに存在するファイルをリスト化
files = os.listdir(dir)
print(files)
ファイルの存在を確認
import os
file = 'file.csv'
if os.path.exists(file) == True:
print('file exists')
ファイルの読み込み
ファイルを1行ずつ読み込み
file = 'input.txt'
with open(file) as f:
text_line = f.read()
print(text_line)
# aaa
# bbb
# ccc
print(type(text_line))
# <class 'str'>
ファイルを1行毎にリスト化
file = 'input.txt'
with open(file) as f:
text_line_list = [t.strip() for t in f.readlines()]
print(text_line_list)
# ['aaa', 'bbb', 'ccc']
不可視ファイルの読み込みをスキップ
for file in files:
if file == '.DS_Store' or file == '.localized':
continue
特定の文字列を含むファイルを抽出
l = []
# ファイルを読み込むディレクトリ
dir = 'tmp'
# 読み込みディレクトリに存在するファイルをリスト化
files = os.listdir(dir)
files.sort()
for file in files:
if file == '.DS_Store':
continue
if file == '.localized':
continue
file = 'tmp/' + file
with open(file) as f:
list_text = [t.strip() for t in f.readlines()]
for text in list_text:
if 'HTML / CSS' in text:
l.append(file)
print(l)
ファイルの文字列を置換
l = ['aaa', 'aaaaa']
# ファイルを読み込むディレクトリ
dir = 'tmp'
# 読み込みディレクトリに存在するファイルをリスト化
files = os.listdir(dir)
for file in files:
if file == '.DS_Store':
continue
if file == '.localized':
continue
file = dir + '/' + file
with open(file) as f:
text_line = f.read()
# 文字列置換
text_line = text_line.replace(l[0], l[1])
# 同じファイル名で保存
with open(file, mode='w') as f:
f.write(text_line)
ファイル・フォルダの複製コピー
ファイルを同じ階層に別名でコピー
import shutil
shutil.copy('sample.csv', 'sample_copy.csv')
ファイルを他のフォルダに同名でコピー
import shutil
shutil.copy('sample.csv', 'folder/sample.csv')
フォルダを同じ階層に別名でコピー
import shutil
shutil.copytree('folder', 'folder_backup')