検索
ホームページバックエンド開発Python チュートリアルファイルの読み取り、書き込み、作成を行う Python メソッド

Pythonでのファイルやフォルダーの操作(ファイル操作関数)には、osモジュールとshutilモジュールが必要です。

現在のPythonスクリプトが動作するディレクトリパスである現在の作業ディレクトリを取得します: os.getcwd()

指定されたディレクトリ内のすべてのファイルとディレクトリ名を返します: os.listdir()

関数が使用されますファイルを削除するには: os .remove()

複数のディレクトリを削除: os.removedirs(r "c:python")

指定されたパスがファイルかどうかを確認します: os.path.isfile()

指定されたパスはディレクトリです: os.path.isdir()

それが絶対パスであるかどうかを判断します: os.path.isabs()

指定されたパスが実際に存在するかどうかを確認します: os.path.exists()

Returnパス ディレクトリ名とファイル名: os.path.split() 例: os.path.split('/home/swaroop/byte/code/poem.txt') 結果: ('/home/swaroop/byte/code' 、'poem .txt')

別の拡張子: os.path.splitext()

パス名を取得: os.path.dirname()

ファイル名を取得: os.path.basename()

シェルコマンドを実行: os .system()

環境変数の読み取りと設定: os.getenv() および os.putenv()

は、現在のプラットフォームで使用される行終端記号を提供します: os.linesep Windows は 'rn' を使用し、Linux は 'n を使用します' Mac では使用しているプラ​​ットフォームを示すために 'r' を使用します: os.name Windows の場合は 'nt'、Linux/Unix ユーザーの場合は 'posix' です

名前の変更: os.rename(old, new)

複数レベルのディレクトリを作成する: os.makedirs(r "c:pythontest")

単一のディレクトリを作成する: os.mkdir("test")

ファイル属性を取得する: os.stat(file)

ファイルを変更する権限とタイムスタンプ: os.chmod (ファイル)

現在のプロセスを終了: os.exit ()

ファイルサイズを取得: os.path.getsize (filename)

ファイル操作:

os.mknod("test. txt") は空のファイルを作成します
fp = open("test.txt",w) ファイルを直接開きます。ファイルが存在しない場合は、ファイルを作成します

オープンモードについて:

w は書き込みモードで開きます、

a は追加モードで開きます 開く (EOF で開始し、必要に応じて新しいファイルを作成します)

r+ 読み取り/書き込みモードで開きます
w+ 読み取り/書き込みモードで開きます ( w を参照)
a+ 読み取り/書き込みモードで開きます (a を参照)
rb バイナリ読み取りモードでオープンします
wb バイナリ書き込みモードでオープンします ( w を参照)
ab バイナリ追加モードでオープンします ( a を参照)
rb+ バイナリ読み取りおよび書き込みモードでオープンします ( r+ を参照)
wb+ バイナリ読み取りおよび書き込みモードでオープンします( w+ を参照)
ab+ バイナリ読み取りおよび書き込みモードでオープン モードはオープン (a+ を参照)

fp.read([size]) #size は読み取りの長さ (バイト単位) です

fp.readline([size] ) #1 行を読み取り、サイズが定義されている場合は、行の一部のみが返される可能性があります

fp.readlines([size]) # ファイルの各行をリストのメンバーとして扱い、このリストを返します。実際、これはループ内で readline() を呼び出すことによって内部的に実装されます。 size パラメータが指定されている場合、size は読み取られるコンテンツの全長を表します。これは、ファイルの一部のみが読み取られることを意味します。

fp.write(str) #str をファイルに書き込みます。write() は str の後に改行文字を追加しません。

fp.writelines(seq) #seq のすべての内容をファイルに書き込みます (より多くの行が書き込まれます)。一斉に)。この関数も、各行の後に何も追加せずに、忠実に記述するだけです。

fp.close() #ファイルを閉じます。 Python は、使用されなくなったファイルを自動的に閉じますが、この機能は保証されていません。自分でファイルを閉じる習慣を身に付けることをお勧めします。 ファイルを閉じた後にファイルを操作すると、ValueError が生成されます

fp.flush() #バッファの内容をハードディスクに書き込みます

fp.fileno() #long 整数の「ファイルラベル」を返します

fp.isatty() #ファイルが端末デバイスファイルかどうか(UNIX系の場合)

fp.tell() #ファイルの先頭を原点としてファイル操作マークの現在位置を返す

fp.next() #次の行を返し、ファイル操作フラグを次の行に移動します。ファイルが for...in file などのステートメントで使用される場合、トラバーサルを実装するために next() 関数が呼び出されます。

fp.seek(offset[,whence]) #ファイル操作マークをオフセット位置に移動します。このオフセットは通常、ファイルの先頭を基準にして計算され、通常は正の数になります。ただし、whence パラメーターが指定されている場合は、この限りではありません。whence を 0 にすると最初から計算を開始し、1 を指定すると現在の位置を原点として使用できます。 2はファイルの末尾を起点として計算することを示します。ファイルを a または a+ モードで開いた場合、書き込み操作が実行されるたびに、ファイル操作マークは自動的にファイルの最後に戻ることに注意してください。

fp.truncate([size]) #ファイルを指定されたサイズにカットします。デフォルトでは、現在のファイル操作マークの位置までカットされます。サイズがファイル サイズより大きい場合、システムによっては、ファイルが変更されないか、対応するサイズまでファイルが 0 でパディングされるか、ランダムなコンテンツが追加されることがあります。

ディレクトリ操作:
os.mkdir("file") ディレクトリの作成
ファイルのコピー:
shutil.copyfile("oldfile","newfile") oldfileとnewfileはどちらもファイルのみ可能です
shutil.copy("oldfile"," newfile") oldfile はフォルダーのみ、newfile はファイルまたはターゲット ディレクトリにすることができます
フォルダーをコピーします:
shutil.copytree("olddir","newdir") olddir と newdir はどちらもディレクトリのみにすることができ、newdir はディレクトリにする必要があります存在しません
ファイル (ディレクトリ) の名前を変更します
os.rename("oldname","newname") ファイルまたはディレクトリを使用するには、このコマンドを使用します
ファイル (ディレクトリ) を移動します
shutil.move("oldpos","newpos")
ファイルを削除
os.remove("file")
ディレクトリを削除
os.rmdir("dir")は空のディレクトリのみを削除できます
shutil.rmtree("dir") 空のディレクトリとコンテンツのあるディレクトリの両方を削除できます
ディレクトリを変換
os.chdir("path") パスを変更します

Python はファイルを読み書きします

1.open
open を使用してファイルを開いた後は、必ずファイル オブジェクトの close() メソッドを呼び出すことを忘れないでください。たとえば、try/finally ステートメントを使用すると、ファイルを最終的に閉じることができるようになります。

file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )

注: open ステートメントを try ブロックに置くことはできません。ファイルがオープンされました 例外が発生すると、ファイル オブジェクト file_object は close() メソッドを実行できません。

2. ファイルの読み取り
テキスト ファイルの読み取り
input = open('data', 'r')
#2 番目のパラメーターのデフォルトは r
input = open('data')

バイナリ ファイルの読み取り
input ( 'data', 'rb')

すべてのコンテンツを読み取ります
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )

読み取り固定bytes
file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
チャンクでない場合:
break
do_something_with(chunk)
finally:
file_object .close( )

各行を読み取ります
list_of_all_the_lines = file_object.readlines( )

ファイルがテキストファイルの場合は、ファイルオブジェクトを直接走査して各行を取得することもできます:

file_object の行:
プロセス行

3 .ファイルの書き込み
テキストファイルの書き込み
output = open('data', 'w')

バイナリファイルの書き込み
output = open('data', 'wb')

書き込みファイルの追加
output = open( 'data', 'w+')

データを書き込む
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )

複数行を書き込む
file_object .writelines(list_of_text_strings)

writelines を呼び出して複数行を書き込む方が、write を使用して一度に書き込むよりもパフォーマンスが高いことに注意してください。

ログ ファイルを処理するとき、次のような状況がよく発生します。ログ ファイルが巨大で、一度にファイル全体をメモリに読み込んで処理することが不可能です。たとえば、ログ ファイルをコンピュータで処理する必要があります。 2GB の物理メモリの場合、一度に処理できるのはその内容の 200MB のみです。
Python では、組み込みの File オブジェクトは、そのようなことを実現するための readlines(sizehint) 関数を直接提供します。次のコードを例に挙げます。

file = open('test.log', 'r')sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() -position

readlines(sizehint) 関数が呼び出されるたびに、約 200MB のデータが返され、ほとんどの場合、返されるデータは完全な行データである必要があります。 , 返されるデータのバイト数は、sizehint で指定した値よりもわずかに大きくなります (readlines(sizehint) 関数が最後に呼び出された場合を除く)。通常、Python はユーザー指定の sizehint 値を内部キャッシュ サイズの整数倍に自動的に調整します。

file は Python の特別なタイプで、Python プログラムで外部ファイルを操作するために使用されます。 Python ではすべてがオブジェクトであり、File も例外ではありません。ファイル メソッドと属性があります。まずファイル オブジェクトを作成する方法を見てみましょう:


file(name[, mode[,buffering]])
file() 関数は、ファイル オブジェクトを作成するために使用されます。open() というエイリアスがあり、これは組み込み関数です。そのパラメータを見てみましょう。そのパラメータはすべて文字列の形式で渡されます。 name はファイルの名前です。
mode はオープン モードで、オプションの値は r wa a U で、それぞれ読み取り (デフォルト) と書き込みを表し、さまざまな改行をサポートするモードを追加します。 w または a モードでファイルを開く場合、ファイルが存在しない場合は自動的に作成されます。また、w モードを使用して既存のファイルを開く場合、初期ファイル操作マークがファイルの先頭にあるため、この時点で書き込み操作を実行すると、元のファイルの内容は消去されます。間違いなく削除されます。歴史的な理由により、改行文字にはシステムごとに異なるモードがあります。たとえば、Unix では n ですが、Windows では、U モードでファイルを開くと、すべての改行モードがサポートされます。これは ' を意味します。 r' 'n' 'rn' はすべて改行を表すことができ、このファイルで使用される改行文字を格納するために使用されるタプルがあります。ただし、改行にはさまざまなモードがありますが、Python で読み取る場合は代わりに n が使用されます。モード文字の後に、2 つの記号 + b t を追加することもできます。これらは、それぞれ、ファイルの読み取りと書き込みを同時に行うことができ、ファイルをバイナリ モードまたはテキスト モード (デフォルト) で開くことができることを示します。
buffering 0 の場合はバッファリングなしを意味し、1 の場合は「行バッファリング」を意味し、1 より大きい数値の場合はバッファーのサイズを意味します (バイト単位である必要があります)。

ファイル オブジェクトには独自のプロパティとメソッドがあります。まずはファイルの属性を見てみましょう。


closed #ファイルが閉じられたかどうかをマークし、close()で書き換えます
encoding #ファイルエンコード
mode #オープンモード
name #ファイル名
newlines #ファイルで使用される改行モードはタプルです
softspace #boolean type 、通常は 0、print

file に使用される読み取りおよび書き込みメソッドと言われています:

F.read([size]) #size は読み取りの長さ (バイト単位) です
F.readline([size] )
# サイズが定義されている場合は、行の一部のみを返すことができます
F.readlines([size])
# ファイルの各行をリストのメンバーとして扱い、このリストを返します。実際、これはループ内で readline() を呼び出すことによって内部的に実装されます。 size パラメータが指定されている場合、size は読み取られるコンテンツの全長を表します。これは、ファイルの一部のみが読み取られることを意味します。
F.write(str)
#str をファイルに書き込みます。write() は str の後に改行文字を追加しません。
F.writelines(seq)
#seq の内容をすべてファイルに書き込みます。この関数も、各行の後に何も追加せずに、忠実に記述するだけです。

ファイルのその他のメソッド:

F.close()
#ファイルを閉じます。 Python は、使用されなくなったファイルを自動的に閉じますが、この機能は保証されていません。自分でファイルを閉じる習慣を身に付けることをお勧めします。ファイルを閉じた後にファイルを操作すると、ValueError が生成されます
F.flush()
#バッファの内容をハードディスクに書き込みます
F.fileno()
#long 整数「ファイルラベル」を返します
F .isatty()
#端末デバイスファイルかどうか(UNIX系の場合)
F.tell()
#ファイルの先頭を原点としてファイル操作マークの現在位置に戻る
F.next()
#次の行を返し、ファイル操作フラグを次の行に移動します。ファイルが for ... in file などのステートメントで使用される場合、トラバーサルを実装するために next() 関数が呼び出されます。
F.seek(offset[,whence])
#ファイル操作マークをオフセット位置に移動します。このオフセットは通常、ファイルの先頭を基準にして計算され、通常は正の数になります。ただし、whence パラメーターが指定されている場合は、この限りではありません。whence を 0 にすると最初から計算を開始し、1 を指定すると現在の位置を原点として使用できます。 2はファイルの末尾を起点として計算することを示します。ファイルを a または a+ モードで開いた場合、書き込み操作が実行されるたびに、ファイル操作マークは自動的にファイルの最後に戻ることに注意してください。
F.truncate([size])
#指定されたサイズにファイルをカットします。デフォルトでは、現在のファイル操作マークの位置までカットされます。サイズがファイル サイズより大きい場合、システムによっては、ファイルが変更されないか、対応するサイズまでファイルが 0 でパディングされるか、ランダムなコンテンツが追加されることがあります。

上記の Python でファイルを読み書き、作成する方法 (必読) は、エディターが共有したすべての内容ですので、参考にしていただければ幸いです。また、皆様にも PHP 中国語をサポートしていただければ幸いです。 Webサイト。

ファイルの読み取り、書き込み、作成に関する Python の方法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Pythonの融合リスト:適切な方法を選択しますPythonの融合リスト:適切な方法を選択しますMay 14, 2025 am 12:11 AM

Tomergelistsinpython、あなたはオペレーター、extendmethod、listcomfulting、olitertools.chain、それぞれの特異的advantages:1)operatorissimplebutlessforlargelist;

Python 3の2つのリストを連結する方法は?Python 3の2つのリストを連結する方法は?May 14, 2025 am 12:09 AM

Python 3では、2つのリストをさまざまな方法で接続できます。1)小さなリストに適したオペレーターを使用しますが、大きなリストには非効率的です。 2)メモリ効率が高い大規模なリストに適した拡張方法を使用しますが、元のリストは変更されます。 3)元のリストを変更せずに、複数のリストをマージするのに適した *オペレーターを使用します。 4)Itertools.chainを使用します。これは、メモリ効率が高い大きなデータセットに適しています。

Python Concatenateリスト文字列Python Concatenateリスト文字列May 14, 2025 am 12:08 AM

Join()メソッドを使用することは、Pythonのリストから文字列を接続する最も効率的な方法です。 1)join()メソッドを使用して、効率的で読みやすくなります。 2)サイクルは、大きなリストに演算子を非効率的に使用します。 3)リスト理解とJoin()の組み合わせは、変換が必要なシナリオに適しています。 4)redoce()メソッドは、他のタイプの削減に適していますが、文字列の連結には非効率的です。完全な文は終了します。

Pythonの実行、それは何ですか?Pythonの実行、それは何ですか?May 14, 2025 am 12:06 AM

pythonexexecutionistheprocessoftransforningpythoncodeintoexecutabletructions.1)interpreterreadSthecode、変換intobytecode、thepythonvirtualmachine(pvm)executes.2)theglobalinterpreeterlock(gil)管理委員会、

Python:重要な機能は何ですかPython:重要な機能は何ですかMay 14, 2025 am 12:02 AM

Pythonの主な機能には次のものがあります。1。構文は簡潔で理解しやすく、初心者に適しています。 2。動的タイプシステム、開発速度の向上。 3。複数のタスクをサポートするリッチ標準ライブラリ。 4.強力なコミュニティとエコシステム、広範なサポートを提供する。 5。スクリプトと迅速なプロトタイピングに適した解釈。 6.さまざまなプログラミングスタイルに適したマルチパラダイムサポート。

Python:コンパイラまたはインタープリター?Python:コンパイラまたはインタープリター?May 13, 2025 am 12:10 AM

Pythonは解釈された言語ですが、コンパイルプロセスも含まれています。 1)Pythonコードは最初にBytecodeにコンパイルされます。 2)ByteCodeは、Python Virtual Machineによって解釈および実行されます。 3)このハイブリッドメカニズムにより、Pythonは柔軟で効率的になりますが、完全にコンパイルされた言語ほど高速ではありません。

ループvs whileループ用のpython:いつ使用するか?ループvs whileループ用のpython:いつ使用するか?May 13, 2025 am 12:07 AM

useaforloopwhenteratingoverasequenceor foraspificnumberoftimes; useawhileloopwhentinuninguntinuntilaConditionismet.forloopsareidealforknownownownownownownoptinuptinuptinuptinuptinutionsituations whileoopsuitsituations withinterminedationations。

Pythonループ:最も一般的なエラーPythonループ:最も一般的なエラーMay 13, 2025 am 12:07 AM

pythonloopscanleadtoErrorslikeinfiniteloops、ModifiningListsDuringiteration、Off-Oneerrors、Zero-dexingissues、およびNestededLoopinefficiencies.toavoidhese:1)use'i

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。