Python3 ファイルメソッド
open()メソッド
Python の open() メソッドは、ファイルを開き、ファイル オブジェクトを返すために使用されます。
この関数はファイル処理中に使用する必要があり、ファイルを開けない場合は OSError がスローされます。
注: open() メソッドを使用する場合は、ファイル オブジェクトが閉じていること、つまり close() メソッドが呼び出されていることを確認する必要があります。
open() 関数の一般的な形式は、ファイル名 (file) とモード (mode) の 2 つのパラメーターを受け取ることです。
open(file, mode='r')
完全な構文形式は次のとおりです。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
パラメータの説明:
- file: 必須、ファイル パス (相対パスまたは絶対パス)。
- モード: オプション、ファイルを開くモード
- バッファリング:バッファリングの設定
- エンコーディング: 通常は utf8 を使用します
- エラー: エラーレベル
- 改行: 改行文字を区別します
- closefd: 渡されるファイルパラメータのタイプ
- opener: カスタム オープナーを設定します。オープナーの戻り値は、オープン ファイル記述子である必要があります。
モードパラメータは次のとおりです。
モデル | 説明する |
---|---|
t | テキストモード (デフォルト) |
バツ | 書き込みモードでは、新しいファイルを作成します。ファイルがすでに存在する場合は、エラーが報告されます。 |
b | バイナリモード。 |
+ | 更新するファイルを開きます (読み取りおよび書き込み可能)。 |
U | ユニバーサル改行モード (Python 3 ではサポートされていません)。 |
r | ファイルを読み取り専用で開きます。ファイル ポインタはファイルの先頭に配置されます。これがデフォルトのモードです。 |
RB | ファイルを読み取り専用としてバイナリ形式で開きます。ファイル ポインタはファイルの先頭に配置されます。これがデフォルトのモードです。通常、画像などの非テキスト ファイルに使用されます。 |
r+ | 読み取りと書き込みのためにファイルを開きます。ファイル ポインタはファイルの先頭に配置されます。 |
RB+ | 読み取りと書き込みのためにファイルをバイナリ形式で開きます。ファイル ポインタはファイルの先頭に配置されます。通常、画像などの非テキスト ファイルに使用されます。 |
w | 書き込み専用のファイルを開きます。ファイルがすでに存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツは削除されます。ファイルが存在しない場合は、新しいファイルを作成します。 |
wb | 書き込み専用としてバイナリ形式でファイルを開きます。ファイルがすでに存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツは削除されます。ファイルが存在しない場合は、新しいファイルを作成します。通常、画像などの非テキスト ファイルに使用されます。 |
w+ | 読み取りと書き込みのためにファイルを開きます。ファイルがすでに存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツは削除されます。ファイルが存在しない場合は、新しいファイルを作成します。 |
wb+ | 読み取りと書き込みのためにファイルをバイナリ形式で開きます。ファイルがすでに存在する場合は、ファイルを開いて最初から編集を開始します。つまり、元のコンテンツは削除されます。ファイルが存在しない場合は、新しいファイルを作成します。通常、画像などの非テキスト ファイルに使用されます。 |
ある | 追加するファイルを開きます。ファイルがすでに存在する場合、ファイル ポインタはファイルの末尾に配置されます。言い換えれば、新しいコンテンツは既存のコンテンツの後に書かれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。 |
腹筋 | 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイル ポインタはファイルの末尾に配置されます。言い換えれば、新しいコンテンツは既存のコンテンツの後に書かれます。ファイルが存在しない場合は、書き込み用に新しいファイルを作成します。 |
α+ | 読み取りと書き込みのためにファイルを開きます。ファイルがすでに存在する場合、ファイル ポインタはファイルの末尾に配置されます。ファイルは追加モードで開かれます。ファイルが存在しない場合は、読み取りおよび書き込み用に新しいファイルが作成されます。 |
腹部+ | 追加するためにバイナリ形式でファイルを開きます。ファイルがすでに存在する場合、ファイル ポインタはファイルの末尾に配置されます。ファイルが存在しない場合は、読み取りおよび書き込み用に新しいファイルが作成されます。 |
デフォルトはテキストモードですが、バイナリモードで開きたい場合はbを追加します。
ファイルオブジェクト
ファイル オブジェクトは、open 関数を使用して作成されます。次の表に、ファイル オブジェクトの一般的に使用される関数を示します。
方法 | 説明する |
---|---|
file.close() | ファイルを閉じます。閉じると、ファイルの読み取りも書き込みもできなくなります。 |
file.flush() | ファイルの内部バッファを更新し、出力バッファに書き込まれるのを受動的に待つのではなく、内部バッファ内のデータを直ちにファイルに直接書き込みます。 |
ファイル.ファイル番号() | 整数ファイル記述子 (ファイル記述子 FD 整数) を返します。これは、OS モジュールの読み取りメソッドなどの一部の低レベル操作で使用できます。 |
ファイル.isatty() | ファイルが端末デバイスに接続されている場合は True を返し、それ以外の場合は False を返します。 |
file.next() | Python 3 のファイル オブジェクトは next() メソッドをサポートしていません。ファイルの次の行を返します。 |
file.read([サイズ]) | ファイルから指定されたバイト数を読み取ります。指定されていないか負の場合はすべてを読み取ります。 |
file.readline([サイズ]) | 「\n」文字を含む行全体を読み取ります。 |
file.readlines([sizeint]) | すべての行を読み取り、リストを返します。sizeint>0 が指定された場合、合計がおよそ sizeint バイトである行が返されます。バッファを埋める必要があるため、実際の読み取り値は sizeint より大きくなる可能性があります。 |
file.seek(オフセット[, いつ]) | ファイル読み取りポインタを指定された場所に移動します |
file.tell() | ファイルの現在の場所を返します。 |
file.truncate([サイズ]) | ファイルの最初の行の最初の文字から切り捨てられます。ファイルは文字サイズに合わせて切り捨てられます。サイズがない場合は、現在位置から切り捨てられることを意味します。切り捨てられた後、後続の文字はすべて削除されます。Windows システムでは改行は 2 文字を表します。 |
file.write(str) | 文字列をファイルに書き込み、書き込まれた文字の長さを返します。 |
file.writelines(シーケンス) | シーケンス文字列リストをファイルに書き込みます。改行が必要な場合は、各行に改行文字を自分で追加します。 |
コード例:
f = open('货源王大全.txt', 'r', encoding='utf-8')
# 读取整个文件
content = f.read()
print(content)
# 或者逐行读取
line = f.readline()
while line:
print(line)
line = f.readline()
- rはファイル読み取り専用モードです
- coding='utf-8' は、エンコード形式をutf-8として指定します。
上記コード実行出力結果
衣料品卸売供給ウェブサイト:
1688: https://www.1688.com/HC
ネットワーク: https://www.hc360.com
Yiwu Gou: http://www.yiwugo.com
Made in China ネットワーク: https:// cn .made-in-china.com
サプライ ホーム: https://www.huoyuanzhijia.com
中国卸売ネットワーク: https://cn.china.cn
衣料品卸売サプライ Web サイト:
オンライン ストアを構築したい: http:/ /www .51zwd.com
オンライン ショッピング パーク: https://www.wsy.com
衣料品ネットワーク: https://www.eelly.com
Juyi.com: http://www.juyi5.cn
検索ネットワーク: https:/ / www.vvic.com/gz
靴供給ネットワーク:
ラブ ビジネス: http://www.2mm.cn
靴資本ネットワーク: http://www.800vi.com
Bao Niuniu: http://www.bao66.cn/ web /
新しいスタイル ネットワーク: http://www.xingFujie.cn/web/美容
供給ネットワーク:
優れた流通: https://www.alifenxiao.com
個人ショー メイクアップ: http://www.geshow.com
Nora Beauty : http://www.nala.com.cn
食料供給ネットワーク:
食品代理店ネットワーク: http://www.spdl.com
58 食品ネットワーク: http://www.58food.com
ハードウェア供給ネットワーク:
Gongpinhui: https://www.vipmro.com
インターネット販売ネットワーク: https://www .onwsw.com
Gongbangbang: https://www.gongbangbang.com
母親と赤ちゃんの供給ネットワーク:
Zhili 子供服ネットワーク: http://www.zhilitongzhuang.com
愛する母親と赤ちゃん: https://www. babyzhiai.net
businessネットワーク: http://www.3e3e.cn
Python3 OSのファイル/ディレクトリ方式
osモジュールは、ファイルとディレクトリを処理するための非常に豊富な方法を提供します。一般的に使用される方法を次の表に示します。
方法 | 説明する |
---|---|
os.access(パス、モード) | |
os.chdir(パス) | |
os.chflags(パス, フラグ) | パスのタグを数値タグに設定します。 |
os.chmod(パス, モード) | 権限の変更 |
os.chown(パス、uid、gid) | ファイル所有者の変更 |
os.chroot(パス) | 現在のプロセスのルート ディレクトリを変更します |
os.close(fd) | ファイル記述子 fd を閉じる |
os.closerange(fd_low, fd_high) | fd_low (包括的) から fd_high (排他的) までのすべてのファイル記述子を閉じます。エラーは無視されます。 |
os.dup(fd) | ファイル記述子 fd をコピー |
os.dup2(fd, fd2) | ファイル記述子 fd を別の fd2 にコピーする |
os.fchdir(fd) | ファイル記述子を使用して現在の作業ディレクトリを変更する |
os.fchmod(fd, モード) | ファイルのアクセス権限を変更します。ファイルはパラメータ fd で指定されます。パラメータ モードは Unix でのファイル アクセス権限です。 |
os.fchown(fd、uid、gid) | 修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。 |
os.fdatasync(fd) | 强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。 |
os.fdopen(fd[, mode[, bufsize]]) | 通过文件描述符 fd 创建一个文件对象,并返回这个文件对象 |
os.fpathconf(fd, name) | 返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
os.fstat(fd) | 返回文件描述符fd的状态,像stat()。 |
os.fstatvfs(fd) | 返回包含文件描述符fd的文件的文件系统的信息,Python 3.3 相等于 statvfs()。 |
os.fsync(fd) | 强制将文件描述符为fd的文件写入硬盘。 |
os.ftruncate(fd, length) | 裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小。 |
os.getcwd() | 返回当前工作目录 |
os.getcwdb() | 返回一个当前工作目录的Unicode对象 |
os.isatty(fd) | 如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。 |
os.lchflags(path, flags) | 设置路径的标记为数字标记,类似 chflags(),但是没有软链接 |
os.lchmod(path, mode) | 修改连接文件权限 |
os.lchown(path, uid, gid) | 更改文件所有者,类似 chown,但是不追踪链接。 |
os.link(src, dst) | 创建硬链接,名为参数 dst,指向参数 src |
os.listdir(path) | 返回path指定的文件夹包含的文件或文件夹的名字的列表。 |
os.lseek(fd, pos, how) | 设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效 |
os.lstat(path) | 像stat(),但是没有软链接 |
os.major(device) | 从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。 |
os.makedev(major, minor) | 以major和minor设备号组成一个原始设备号 |
os.makedirs(path[, mode]) | 递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。 |
os.minor(device) | 从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。 |
os.mkdir(path[, mode]) | 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。 |
os.mkfifo(path[, mode]) | 创建命名管道,mode 为数字,默认为 0666 (八进制) |
os.mknod(filename[, mode=0600, device]) | 创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。 |
os.open(file, flags[, mode]) | 打开一个文件,并且设置需要的打开选项,mode参数是可选的 |
os.openpty() | 打开一个新的伪终端对。返回 pty 和 tty的文件描述符。 |
os.pathconf(path, name) | 返回相关文件的系统配置信息。 |
os.pipe() | 创建一个管道. 返回一对文件描述符(r, w) 分别为读和写 |
os.popen(command[, mode[, bufsize]]) | 从一个 command 打开一个管道 |
os.read(fd, n) | 从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。 |
os.readlink(path) | 返回软链接所指向的文件 |
os.remove(path) | 删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。 |
os.removedirs(path) | 递归删除目录。 |
os.rename(src, dst) | 重命名文件或目录,从 src 到 dst |
os.renames(old, new) | 递归地对目录进行更名,也可以对文件进行更名。 |
os.rmdir(path) | 删除path指定的空目录,如果目录非空,则抛出一个OSError异常。 |
os.stat(path) | 获取path指定的路径的信息,功能等同于C API中的stat()系统调用。 |
os.stat_float_times([newvalue]) | 决定stat_result是否以float对象显示时间戳 |
os.statvfs(path) | 获取指定路径的文件系统统计信息 |
os.symlink(src, dst) | 创建一个软链接 |
os.tcgetpgrp(fd) | 返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组 |
os.tcsetpgrp(fd, pg) | 设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pg。 |
os.tempnam([dir[, prefix]]) | Python3 中已删除。返回唯一的路径名用于创建临时文件。 |
os.tmpfile() | Python3 中已删除。返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。 |
os.tmpnam() | Python3 中已删除。为创建一个临时文件返回一个唯一的路径 |
os.ttyname(fd) | 返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常。 |
os.unlink(path) | 删除文件路径 |
os.utime(path, times) | 返回指定的path文件的访问和修改的时间。 |
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]]) | 输出在文件夹中的文件名通过在树中游走,向上或者向下。 |
os.write(fd, str) | 写入字符串到文件描述符 fd中. 返回实际写入的字符串长度 |
os.path 模块 | 获取文件的属性信息。 |
os.pardir() | 获取当前目录的父目录,以字符串形式显示目录名。 |
os.replace() | 重命名文件或目录。 |
Python的os模块提供了很多用于处理文件和目录的功能。下面是一些示例代码:
- 获取当前工作目录
import os
print(os.getcwd())
- 列出目录中的文件和子目录
import os
print(os.listdir("/path/to/directory"))
- 创建新目录
import os
os.mkdir("/path/to/new/directory")
- 删除目录
import os
os.rmdir("/path/to/directory")
- 判断文件或目录是否存在
import os
print(os.path.exists("/path/to/file_or_directory"))
- 判断路径是否为文件
import os
print(os.path.isfile("/path/to/file"))
- 判断路径是否为目录
import os
print(os.path.isdir("/path/to/directory"))
- 获取文件或目录的元数据(例如,文件大小,修改时间)
import os
print(os.stat("/path/to/file_or_directory"))
这些示例代码只是os模块功能的一部分,更多详细的信息和文档可以在Python的官方文档中找到。