ファイル処理は、Webアプリケーションの重要な部分です。
Pythonには、ファイルを作成、読み取り、更新、および削除するためのいくつかの関数があります。
ファイル処理
Pythonでファイルを操作するための重要な関数は、 open() 関数です。
ファイルを開くには、次の4つの方法(モード)があります。
- "r" -読み取り-デフォルト値。読み取るためにファイルを開き、ファイルが存在しない場合はエラーを報告します。
- "a" -追加-追加するファイルを開くか、ファイルが存在しない場合はファイルを作成します。
- "w" -書き込み-書き込み用にファイルを開くか、ファイルが存在しない場合はファイルを作成します。
- "x" -作成-指定されたファイルを作成し、ファイルが存在する場合はエラーを返します。
さらに、ファイルをバイナリモードとテキストモードのどちらで処理するかを指定できます。
- "t" -テキスト-デフォルト値。テキストモード。
- 「b」 -バイナリ-バイナリモード(例:画像)。
open()関数は、filenameとmodeの2つのパラメーターを取ります。
open()関数の構文形式:
f=open("a.txt","r") #以只读的方式打开a.txt文件,并创建一个文件对象f。
这里的f等于以只读的方式打开的a.txt文件
read()関数 では、ファイル内の読み取りたい文字数を括弧内に入力できます。括弧内にパラメーターがない場合、デフォルトではファイルの内容全体が読み取られます。
print(f.read()) #读取文件全部内容
print(f.read(6)) #读取文件前6个字符
readline()関数 は、ファイルの行の内容を読み取ります
print(f.readline()) #读取第一行内容
#若只想读取前两行内容,则可以这样写:
print(f.readline())
print(f.readline())
"""依次读取一行内容,已经读取的内容不会重复读取,所以写两遍就可以读取两行内容。"""
close()関数 はファイルを閉じますファイルを開くためのopen()があるので、ファイルを閉じるためのclose()があります
バッファの内容をファイルに書き込み、同時にファイルを閉じて、ファイルオブジェクトに関連するリソースを解放します
ファイルを開いた後、ファイルを編集して使用した後、ファイルを閉じます
#close()函数使用方法:
f=open("a.txt","r") #打开文件
print(f.read(5)) #读取前五个字符
print(f.readline()) #然后再读取一行字符
f.close() #完成对文件的使用后关闭文件
Pythonファイルの書き込み
既存のファイルに書き込む
既存のファイルに書き込むには、open()関数にパラメーターを追加する必要があります。
-
"a"-append-はファイルの最後に追加します
-
「w」-書き込み-既存のコンテンツを上書きします
ファイル「a.txt」を開き、内容をファイルに追加します
f=open("a.txt","a") #以"a"追加写入的方式打开文件
f.write("Hello python!") #以"a"的方式打开的文件写入内容时,会将内容追加在之前内容的末尾。
f.close() #将缓冲区的内容写入到文件中,写完内容后关闭文件。
"""每次运行都会在文件末尾追加Hello python,运行三次后,就会有三句Hello python"""
ファイル「a.txt」を開き、コンテンツを上書きします
f=open("a.txt","w") #以"w"写入的方式打开a.txt文件
f.write("Hello python!")
#以"w"方式打开的文件,每次写入内容都会覆盖之前的内容。所以不管运行多少次,文件里只有Hello python!
f.close() #把缓冲区的内容写入文件,并关闭文件。释放文件对象的相关资源。
"""每次写入完内容后建议关闭一下文件,因为文件不一定会立马保存进文件,而是存在缓冲区。
使用close() 函数关闭文件时,会将缓冲区的内容写入文件。"""
注:「w」メソッドはすべてをオーバーライドします。
新しいファイルを作成します。
Pythonで新しいファイルを作成する必要がある場合は、open()メソッドを使用し、次のメソッドを使用します。
"x" create-ファイルを作成し、ファイルが存在する場合はエラーを返します
"a" append-指定されたファイルが存在しない場合、ファイルを作成します
"w" write-指定されたファイルが存在しない場合、ファイルを作成します
例:
「b.txt」という名前のファイルを作成します。
f=open("b.txt","x") #创建并打开b.txt文件
#如果文件已存在则报错显示文件以存在:
FileExistsError: [Errno 17] File exists: '海龟编程test1.py'
#如果不存在,则创建新文件。
ファイルを削除する
ファイルを削除する必要がある場合は、OSモジュールをインポートして、そのos.remove()関数を実行する必要があります。
#删除b.txt文件
import os #导入os模块
os.remove("b.txt") #使用os.remove("文件名") 函数删除文件。
ファイルが存在するかどうかを確認します
エラーを回避するために、ファイルを削除する前に、ファイルの存在を確認することをお勧めします。
例
ファイルが存在するかどうかを確認してから、削除します。
import os
if os.path.exists("d.txt"):
os.remove("d.txt")
else:
print("The file does not exist")
フォルダを削除
フォルダ全体を削除するには、os.rmdir()メソッドを使用します。
import os
os rmdir("b.txt") # 删除整个文件夹