目次
Python文件打开方式
Python打开文件的模式
Python文件读取方式
読み取り専用モード
Python文件操作所提供的方法
同时打开多个文件
ホームページ バックエンド開発 Python チュートリアル Python フルスタックロードシリーズのファイル操作

Python フルスタックロードシリーズのファイル操作

Feb 15, 2017 pm 03:02 PM
file python

Python はファイルを表示および作成でき、ファイルの内容を追加、変更、削除できます。使用される関数は Python 3.5.x では open ですが、Python 2.7 では file の両方をサポートしています。 code> と <code>open がありましたが、file 関数は 3.5.x シリーズで削除されました。 open,在Python2.7.x同时支持fileopen,但是在3.5.x系列移除了file函数。

Python文件打开方式

文件句柄 = open('文件路径','打开模式')
ログイン後にコピー

Ps:文件句柄相当于于变量名,文件路径可以写为绝对路径也可以写为相对路径。

Python打开文件的模式

基本的模式

模式 说明 注意事项
r 只读模式 文件必须存在
w 只写模式 文件不存在则创建文件,文件存在则清空文件内容
x 只写模式 文件不可读,文件不存在则创建,存在则报错
a 追加模式 文件不存在创建文件,文件存在则在文件末尾添加内容

+的模式

模式 说明
r+ 读写
w+ 写读
x+ 写读
a+ 写读

b的模式

模式 说明
rb 二进制读模式
wb 二进制写模式
xb 二进制只写模式
ab 二进制追加模式

提示:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型

+b的模式

模式 说明
rb+ 二进制读写模式
wb+ 二进制读写模式
xb+ 二进制只写模式
ab+ 二进制读写模式

Python文件读取方式

模式 说明
read([size]) 读取文件全部内容,如果设置了size,那么久读取size字节
readline([size]) 一行一行的读取
readlines() 读取到的每一行内容作为列表中的一个元素

测试的文件名是hello.tx"

Pythonファイルを開く方法

Hello Word!
123
abc
456
abc
789
abc
ログイン後にコピー
追伸: ファイルハンドルは変数名に相当し、ファイルパスは絶対パスまたは相対パスで記述できます。

Python でファイルを開くモード

基本モード

モード

手順

注意事項

r

読み取り専用モード

ファイルが存在する必要がありますファイルが存在しない場合はファイルを作成し、ファイルが存在する場合はファイルの内容をクリアします書き込み専用モード ファイルが存在しない場合は作成してください。存在する場合は、エラーが報告されます。 td align="center">a追加モード ファイルが存在しません。次に、ファイルの最後にコンテンツを追加します
w 書き込み専用モード
x
+ code> 🎜🎜🎜🎜<th align="center">モード🎜🎜 説明🎜🎜🎜🎜🎜</th> <td align="center">r+🎜🎜読み取りと書き込み🎜🎜🎜</td> <td align="center">w+🎜 🎜書き込みと読み取り🎜🎜🎜</td> <td align="center">x+🎜🎜書き込みと読み取り🎜🎜🎜</td> <td align="center">a+ ... 🎜🎜バイナリ読み取りモード🎜🎜🎜</td> <td align="center ">wb🎜🎜バイナリ書き込みモード🎜🎜🎜</td> <td align="center">xb🎜🎜バイナリ書き込み専用モード🎜🎜🎜</td> <td align="center">ab🎜🎜バイナリ追加モード🎜🎜🎜🎜<blockquote>🎜🎜ヒント: 🎜 b モードで開いた場合、読み取られるコンテンツはバイト型であり、書き込み時にもバイト型を指定する必要があります🎜</blockquote>🎜 <code>+ モードで b🎜🎜🎜🎜 モード🎜🎜説明🎜🎜🎜🎜🎜 rb+ 🎜🎜バイナリ読み取りおよび書き込みモード🎜🎜🎜 wb+🎜🎜バイナリ読み取りおよび書き込みモード🎜🎜🎜 xb+🎜🎜バイナリ書き込み専用モード🎜🎜🎜 ab+🎜🎜バイナリ読み取りおよび書き込みモード🎜 🎜🎜🎜🎜Pythonファイル読み取りメソッド🎜🎜🎜🎜🎜モード🎜🎜手順🎜🎜🎜🎜🎜🎜read([size])🎜🎜ファイルの内容全体を読み取り、サイズを設定している場合は、サイズバイトを読み取ります。お久しぶりです🎜🎜🎜🎜readline([size])🎜🎜一行ずつ読みます🎜🎜🎜🎜readlines()🎜🎜読み取られた各行の内容はリストの要素として使用されます🎜🎜🎜🎜🎜ファイル名テストの内容は hello.tx" で、ファイルの内容は次のとおりです: 🎜
# 以只读的方式打开文件hello.txt
f = open("hello.txt","r")
# 读取文件内容赋值给变量c
c = f.read()
# 关闭文件
f.close()
# 输出c的值
print(c)
ログイン後にコピー
🎜🎜read🎜🎜🎜 コード: 🎜
C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
Hello Word!
123
abc
456
abc
789
abc
ログイン後にコピー
🎜 出力結果: 🎜
# 以只读模式打开文件hello.txt
f = open("hello.txt","r")
# 读取第一行
c1 = f.readline()
# 读取第二行
c2 = f.readline()
# 读取第三行
c3 = f.readline()
# 关闭文件
f.close()
# 输出读取文件第一行内容
print(c1)
# 输出读取文件第二行内容
print(c2)
# 输出读取文件第三行内容
print(c3)
ログイン後にコピー
🎜🎜readline🎜🎜🎜 コード: 🎜
C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
Hello Word!

123

abc
ログイン後にコピー
🎜出力結果:🎜
# 以只读的方式打开文件hello.txt
f = open("hello.txt","r")
# 将文件所有内容赋值给c
c = f.readlines()
# 查看数据类型
print(type(c))
# 关闭文件
f.close()
# 遍历输出文件内容
for n in c:
    print(n)
ログイン後にコピー
🎜🎜readlines🎜🎜
C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
# 输出的数据类型
<class &#39;list&#39;>
Hello Word!

123

abc

456

abc

789

abc
ログイン後にコピー
🎜Result🎜
# 以只读的模式打开文件write.txt,没有则创建,有则覆盖内容
file = open("write.txt","w")
# 在文件内容中写入字符串test write
file.write("test write")
# 关闭文件
file.close()
ログイン後にコピー
ログイン後にコピー
🎜Pythonファイルの書き込みメソッド🎜🎜🎜🎜🎜Method🎜🎜説明🎜🎜🎜🎜🎜🎜write(str)🎜 🎜文字列をファイルに書き込みます🎜🎜🎜 🎜writelines(シーケンスまたは文字列)🎜🎜 パラメータには反復可能なオブジェクト、リスト、タプルなどを指定できます🎜🎜🎜🎜。

write

代码:

# 以只读的模式打开文件write.txt,没有则创建,有则覆盖内容
file = open("write.txt","w")
# 在文件内容中写入字符串test write
file.write("test write")
# 关闭文件
file.close()
ログイン後にコピー
ログイン後にコピー

write.txt文件内容为:

test write
ログイン後にコピー

writelines

代码:

# 以只读模式打开一个不存在的文件wr_lines.txt
f = open("wr_lines.txt","w",encoding="utf-8")
# 写入一个列表
f.writelines(["11","22","33"])
# 关闭文件
f.close()
ログイン後にコピー

wr_lines.txt文件内容:

112233
ログイン後にコピー
ログイン後にコピー

Python文件操作所提供的方法

close(self):

关闭已经打开的文件

f.close()
ログイン後にコピー

fileno(self):

文件描述符

 f = open("hello.txt","r")
ret = f.fileno()
f.close()
print(ret)
ログイン後にコピー

执行结果:

3
ログイン後にコピー

flush(self):

刷新缓冲区的内容到硬盘中

f.flush()
ログイン後にコピー

isatty(self):

判断文件是否是tty设备,如果是tty设备则返回True,否则返回False

f = open("hello.txt","r")
ret = f.isatty()
f.close()
print(ret)
ログイン後にコピー

返回结果:

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
False
ログイン後にコピー
ログイン後にコピー

readable(self):

是否可读,如果可读返回True,否则返回False

f = open("hello.txt","r")
ret = f.readable()
f.close()
print(ret)
ログイン後にコピー

返回结果:

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
True
ログイン後にコピー
ログイン後にコピー

readline(self, limit=-1):

每次仅读取一行数据

f = open("hello.txt","r")
print(f.readline())
print(f.readline())
f.close()
ログイン後にコピー

返回结果:

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
Hello Word!

123
ログイン後にコピー

readlines(self, hint=-1):

把每一行内容当作列表中的一个元素

f = open("hello.txt","r")
print(f.readlines())
f.close()
ログイン後にコピー

返回结果:

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
['Hello Word!\n', '123\n', 'abc\n', '456\n', 'abc\n', '789\n', 'abc']
ログイン後にコピー
  • tell(self):

获取指针位置

f = open("hello.txt","r")
print(f.tell())
f.close()
ログイン後にコピー

返回结果:

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
0
ログイン後にコピー

seek(self, offset, whence=io.SEEK_SET):

指定文件中指针位置

f = open("hello.txt","r")
print(f.tell())
f.seek(3)
print(f.tell())
f.close()
ログイン後にコピー

执行结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
0
3
ログイン後にコピー

seekable(self):

指针是否可操作

f = open("hello.txt","r")
print(f.seekable())
f.close()
ログイン後にコピー

执行结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
True
ログイン後にコピー
ログイン後にコピー

writable(self):

是否可写

f = open("hello.txt","r")
print(f.writable())
f.close()
ログイン後にコピー

执行结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
False
ログイン後にコピー
ログイン後にコピー

writelines(self, lines):

写入文件的字符串序列,序列可以是任何迭代的对象字符串生产,通常是一个字符串列表

f = open("wr_lines.txt","w")
f.writelines(["11","22","33"])
f.close()
ログイン後にコピー

执行结果

112233
ログイン後にコピー
ログイン後にコピー

read(self, n=None):

读取指定字节数据,后面不加参数默认读取全部

f = open("wr_lines.txt","r")
print(f.read(3))
f.seek(0)
print(f.read())
f.close()
ログイン後にコピー

执行结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/file.py
112
112233
ログイン後にコピー

write(self, s):

往文件里面写内容

f = open("wr_lines.txt","w")
f.write("abcabcabc")
f.close()
ログイン後にコピー

文件内容

abcabcabc
ログイン後にコピー

同时打开多个文件

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open('log','r') as f:
 代码块
ログイン後にコピー

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

在Python 2.7 及以后,with又支持同时对多个文件的上下文进行管理,即:

with open('log1') as obj1, open('log2') as obj2:
    pass
ログイン後にコピー

更多Python全栈之路系列之文件操作相关文章请关注PHP中文网!



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PSが荷重を見せ続ける理由は何ですか? PSが荷重を見せ続ける理由は何ですか? Apr 06, 2025 pm 06:39 PM

PSの「読み込み」の問題は、リソースアクセスまたは処理の問題によって引き起こされます。ハードディスクの読み取り速度は遅いか悪いです。CrystaldiskInfoを使用して、ハードディスクの健康を確認し、問題のあるハードディスクを置き換えます。不十分なメモリ:高解像度の画像と複雑な層処理に対するPSのニーズを満たすためのメモリをアップグレードします。グラフィックカードドライバーは時代遅れまたは破損しています:ドライバーを更新して、PSとグラフィックスカードの間の通信を最適化します。ファイルパスが長すぎるか、ファイル名に特殊文字があります。短いパスを使用して特殊文字を避けます。 PS独自の問題:PSインストーラーを再インストールまたは修理します。

PSが開始されたときにロードの問題を解決する方法は? PSが開始されたときにロードの問題を解決する方法は? Apr 06, 2025 pm 06:36 PM

ブートがさまざまな理由によって引き起こされる可能性がある場合、「読み込み」に巻き込まれたPS:腐敗したプラグインまたは競合するプラグインを無効にします。破損した構成ファイルの削除または名前変更。不十分なプログラムを閉じたり、メモリをアップグレードしたりして、メモリが不十分であることを避けます。ソリッドステートドライブにアップグレードして、ハードドライブの読み取りをスピードアップします。 PSを再インストールして、破損したシステムファイルまたはインストールパッケージの問題を修復します。エラーログ分析の起動プロセス中にエラー情報を表示します。

PSがファイルを開いたときにロードの問題を解決する方法は? PSがファイルを開いたときにロードの問題を解決する方法は? Apr 06, 2025 pm 06:33 PM

「ロード」は、PSでファイルを開くときに発生します。理由には、ファイルが大きすぎるか破損しているか、メモリが不十分で、ハードディスクの速度が遅い、グラフィックカードドライバーの問題、PSバージョンまたはプラグインの競合が含まれます。ソリューションは、ファイルのサイズと整合性を確認し、メモリの増加、ハードディスクのアップグレード、グラフィックカードドライバーの更新、不審なプラグインをアンインストールまたは無効にし、PSを再インストールします。この問題は、PSパフォーマンス設定を徐々にチェックして使用し、優れたファイル管理習慣を開発することにより、効果的に解決できます。

インストール後にMySQLの使用方法 インストール後にMySQLの使用方法 Apr 08, 2025 am 11:48 AM

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

PSフェザーリングは、遷移の柔らかさをどのように制御しますか? PSフェザーリングは、遷移の柔らかさをどのように制御しますか? Apr 06, 2025 pm 07:33 PM

羽毛の鍵は、その漸進的な性質を理解することです。 PS自体は、勾配曲線を直接制御するオプションを提供しませんが、複数の羽毛、マッチングマスク、および細かい選択により、半径と勾配の柔らかさを柔軟に調整して、自然な遷移効果を実現できます。

mysqlは支払う必要がありますか mysqlは支払う必要がありますか Apr 08, 2025 pm 05:36 PM

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

MySQLインストール後にデータベースのパフォーマンスを最適化する方法 MySQLインストール後にデータベースのパフォーマンスを最適化する方法 Apr 08, 2025 am 11:36 AM

MySQLパフォーマンスの最適化は、インストール構成、インデックス作成、クエリの最適化、監視、チューニングの3つの側面から開始する必要があります。 1。インストール後、INNODB_BUFFER_POOL_SIZEパラメーターやclose query_cache_sizeなど、サーバーの構成に従ってmy.cnfファイルを調整する必要があります。 2。過度のインデックスを回避するための適切なインデックスを作成し、説明コマンドを使用して実行計画を分析するなど、クエリステートメントを最適化します。 3. MySQL独自の監視ツール(ShowProcessList、ShowStatus)を使用して、データベースの健康を監視し、定期的にデータベースをバックアップして整理します。これらの手順を継続的に最適化することによってのみ、MySQLデータベースのパフォーマンスを改善できます。

PSフェザーリングをセットアップする方法は? PSフェザーリングをセットアップする方法は? Apr 06, 2025 pm 07:36 PM

PSフェザーリングは、イメージエッジブラー効果であり、エッジエリアのピクセルの加重平均によって達成されます。羽の半径を設定すると、ぼやけの程度を制御でき、値が大きいほどぼやけます。半径の柔軟な調整は、画像とニーズに応じて効果を最適化できます。たとえば、キャラクターの写真を処理する際に詳細を維持するためにより小さな半径を使用し、より大きな半径を使用してアートを処理するときにかすんだ感覚を作成します。ただし、半径が大きすぎるとエッジの詳細を簡単に失う可能性があり、効果が小さすぎると明らかになりません。羽毛効果は画像解像度の影響を受け、画像の理解と効果の把握に従って調整する必要があります。

See all articles