Pythonファイルとディレクトリの操作コードの概要

序文

pythonでは、ファイルオブジェクトが組み込まれており、ファイルオブジェクトを作成するopen()メソッドや、ファイルにコンテンツを書き込むwrite()メソッドなど、いくつかの組み込みメソッドを使用してファイル操作を実現できます。

1.基本的なファイル操作

1. ファイルを作成して開く

ファイルを操作するには、最初に指定されたファイルを作成または開き、ファイルオブジェクトを作成する必要があります。これは、組み込み関数open()を使用して実行できます。

file =open(file_name[,mode[,buffering]])'''
file_name :作成または開くファイル名
モード:ファイルを開く方法を指定するために使用されます
'''

モードパラメータのパラメータ値表

モード 説明
r ファイルを読み取り専用として開きます。ファイルのポインタはファイルの先頭に配置されます。これがデフォルトのモードです。
rb 読み取り専用のバイナリ形式でファイルを開きます。ファイルポインタはファイルの先頭に配置されます。これがデフォルトのモードです。
r + 読み取りおよび書き込み用にファイルを開きます。ファイルポインタはファイルの先頭に配置されます。
rb + 読み取りおよび書き込み用にバイナリ形式でファイルを開きます。ファイルポインタはファイルの先頭に配置されます。
w 書き込み専用のファイルを開きます。ファイルが既に存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツが削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
wb 書き込み専用のバイナリ形式でファイルを開きます。ファイルが既に存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツが削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
w + 読み取りおよび書き込み用にファイルを開きます。ファイルが既に存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツが削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
wb + 読み取りおよび書き込み用にバイナリ形式でファイルを開きます。ファイルが既に存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツが削除されます。ファイルが存在しない場合は、新しいファイルを作成します。
a 追加するファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。つまり、新しいコンテンツは既存のコンテンツの後に書き込まれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。
ab 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。つまり、新しいコンテンツは既存のコンテンツの後に書き込まれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。
a + 読み取りおよび書き込み用にファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。ファイルを開くと、追加モードになります。ファイルが存在しない場合は、読み取りと書き込み用に新しいファイルを作成します。
ab + 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイルポインタはファイルの最後に配置されます。ファイルが存在しない場合は、読み取りと書き込み用に新しいファイルを作成します。

注意

open()関数を使用してファイルを開く場合、デフォルトでGBKエンコーディングが使用されます。他のエンコーディングメソッドを使用する場合は、エンコーディングパラメータを追加する必要があります。

file = open(‘./text.txt’,’a+’,encoding=’utf-8′)

開くには元のファイルエンコーディング方法を使用する必要があります。そうしないと、エラーが報告されます

2. ファイルを閉じる

ファイルを開いた後、ファイルへの不必要な損傷を避けるために、時間内に閉じる必要があります。組み込み関数close()を使用できます。

file = open(‘./text.txt’,’a+’)
file.close()

注意

close()関数は、最初にバッファに書き込まれていない情報を更新し、それをファイルに書き込んでから、ファイルを閉じてファイルを保護します。

3. ファイルへの書き込み

文法

file = write(string)

demo

# ファイルを開く
file =open('./text.txt','a+')
# ファイルを書き込む
file =write('コードに従って、清まで生きる')
# ファイルを閉じる
file.close()

注意:

ファイルを再度書き込むときは、ファイルを開いたモードを挿入してください。そうしないと、元のデータが上書きされます。

4. ファイルの読み取り

ファイルを読み取るための前提条件は、ファイルを開くときに、指定されたオープンモードがr(読み取り専用)またはr +(読み取り/書き込み)であるということです。それ以外の場合、例外がスローされます。

(1)指定した文字を読む

file.read([size])

size:読み取る文字数を指定します。省略した場合、すべてのコンテンツが一度に読み取られます。

(2)1行読む

file.readline()

このメソッドは、テキストの行を読み取るために使用されます

(3)すべての行を読み取る

file.readlins()

2.ディレクトリ操作

Pythonには、ディレクトリまたはファイルを操作するための組み込みのosモジュールとサブモジュールos.pathがあります。

osモジュールによって提供されるディレクトリ関連の機能

機能 説明
getcwd() 現在の作業ディレクトリを返す
listdir(path) 指定されたパスの下のファイルとディレクトリの情報を返します
mkdir(path [、mode]) ディレクトリの作成
makedirs(path / path2…..) マルチレベルディレクトリを作成する
rmdir(path) ディレクトリの削除
removeirs(/ path1 / path2 ...) マルチレベルディレクトリを削除する
chdir(path) 現在の作業ディレクトリへのパスを設定します
walk(top [、topdown [、onerror]) traverse
access(path、accessmode) 指定されたファイルに特定の権限があるかどうかを取得します(accessmodeはR_OK(読み取り)、W_OK(書き込み)、X_OK(実行)、F_OK(存在)に等しい)、指定された権限がある場合は1を返します、それ以外の場合は0を返します。
chmod(path、mode) pathで指定されたファイルのアクセス許可を変更する
remove(path) 指定されたファイルパスを削除します
rename(src、dst) ファイルまたはディレクトリsrcの名前をdstに変更します
stat(path) pathで指定されたファイルに関する情報を返します

os.pathモジュールは、ディレクトリに関連する機能を提供します

機能 説明
abspath(path) ファイルまたはディレクトリの絶対パスを取得するために使用されます
exists(path) ディレクトリまたはファイルが存在するかどうかを判断するために使用されます。存在する場合はTrueを返し、存在しない場合はFalseを返します
join(path、name) ディレクトリまたはファイル名でディレクトリを結合します
splitext() 個別のファイル名と拡張子
split(path) スプリットパスとファイル名
basename(path) ディレクトリからファイル名を抽出します
dirname(path) ファイル名を含まないパスからファイルパスを抽出します
isdir(path) パスが有効かどうかを判断するために使用されます

デモ-現在の作業ディレクトリを取得します

import os
print(os.getcwd())

デモ-ディレクトリが存在するかどうかを確認します

import os
print(os.path.exists(“c:\demo”))

注意

presents()はosのサブモジュールによって提供されるため、プレフィックスos.pathを追加する必要があります。

デモ-第1レベルのディレクトリを作成します

import os
path ="c://demo"
# 作成するディレクトリがすでに存在する場合は、例外がスローされます。最初に、作成するディレクトリが存在するかどうかを確認します。
if not os.path.exists(path):
	os.mkdir(path)else:print('ディレクトリはすでに存在します')

注意

mkdir(path)によって作成されたディレクトリは、第1レベルのディレクトリです。渡されたパスの最後のレベルの親ディレクトリが存在しない場合、例外がスローされます。

デモ-マルチレベルディレクトリを作成します

import os
os.makedirs(“C:\demo1\demo2\…”)

デモ-ディレクトリを削除

import os
path ="C:\demo1\demo2"
# 削除するディレクトリを決定します。存在しない場合は、問題が発生します。
if os.path.exists(path):
	os.rmdir("C:\demo1\demo2") #demo2ファイルを削除しました
	print("ディレクトリが正常に削除されました!")else:print("ディレクトリが存在しません")

注意:

rmdir()関数は、空のディレクトリのみを削除できます。空でない場合、削除することはできません。次のコードを使用して、空でないディレクトリを削除できます。

import shutil
shutil.rmtree("C:\demo\text")

デモトラバースディレクトリ

os.walk()の戻り値は、3つの要素(dirpath、dirnams、filenames)を含むタプルジェネレーターオブジェクトです。

dirpath:現在通過したパスを表す文字列です

dirnames:現在のパスに含まれるサブディレクトリを表すリストです

filenames:現在のディレクトリ内のファイルのリストでもあります

os.walk(top,[topdown][,onerror][,followlinks])'''
top:トラバースするディレクトリを指定するために使用されます
topdown:トラバースする順序を指定するために使用されるオプションのパラメーター。True(デフォルト)の場合、Falseの場合は上から下へのトラバースを意味します。,子供の頃から上までの意味。
'''
import os
path ="C:\demo"
# rootは現在のルートパス、dirsにはパスの下のサブディレクトリ、filesにはサブディレクトリの下の2〜5年が含まれます
for root,dirs,fles in os.walk(path,topdown=True):for name in dirs:print(os.path.join(root,name))for name in files:print(os.path.join(root.name))

デモ-ファイルが現在のディレクトリに存在するかどうかを確認します

import os
path ="C:\demo"
filename ="love.txt"for root,dirs,files in os.walk(path):for name in files:if filename== name:print(os.path.join(root,name))

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

Pythonファイルとディレクトリの操作コードの概要
Pythonの自動操作とメンテナンス2
Pythonの自動操作とメンテナンス1
クイックスタートPythonファイル操作
Pythonファイルの読み取りおよび書き込み操作
Pythonリスト理解操作例の概要
Pythonファイル操作の基本的なプロセス分析
Pythonは実行する操作コードを処理します
Pythonプロセスとスレッドの要約ケース分析
Pythonプロセスとスレッドの要約ケース分析
python_ファイル処理
Python and Go
Pythonの基本的な要約
Pythonメモリマップファイルの読み取りおよび書き込みメソッド
python操作kafka
Python2とPython3の違いの簡単な要約
Pythonの内省と考察
Python処理jsonの概要
[python] ubuntuの下のpython2とpython3
Pythonインタビューの質問の概要
Python操作SQLiteデータベース
Pythonの高度な使用法の概要
PythonSMS爆撃コード
Python操作yaml命令
Pythonの分解とパッケージ化