検索
ホームページバックエンド開発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之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール