ホームページ >バックエンド開発 >Python チュートリアル >Pythonでosモジュールとshutilモジュールを詳しく解説
#記事ディレクトリ
モジュールと shutil
モジュールは Python 処理ファイルです/ ディレクトリのプライマリ モード。 os モジュールはオペレーティング システム関連の機能を使用するための便利な方法を提供し、shutil モジュールは高度なファイル/ディレクトリ操作ツールです。
osシステム タイプを取得するこのモジュールは、リソース ディレクトリ内のファイルの読み取りなど、オペレーティング システムのリソースを使用するための便利な機能を提供します。ファイル、コマンド ラインなどの特定のパスにあるファイルのすべての内容を表示します。
さまざまなオペレーティング システムに適応するコードの互換性を開発する場合、オペレーティング システムのタイプを判断することで簡単に解決できます。 。
import osimport sysprint(os.name) # 返回nt代表Windows,posix代表Linuxprint(sys.platform) # 更详细信息システム環境の取得
環境変数を設定する場合、モジュール
os.environ は、システム環境変数を辞書形式で返します。特定の属性値を取得するには、インデックスまたはメソッド
getenv():
import osprint(os.environ)print(os.environ['PATH'])print(os.getenv('PATH'))## を使用できます。
#システム コマンドの実行
OS モジュール system()
メソッドを使用してシェル コマンドを実行します。通常の実行では、 0を返します。使用形式は です。 非コンソール モードで記述する場合、
system()
はシステム コマンドを呼び出すだけで実行はしません。実行結果は
file オブジェクトが読み取られて取得されます。
import os os.system('ping www.baidu.com')os.popen('ping www.baidu.com').read()
操作ディレクトリとファイル
OS モジュールを使用して実行する場合の Python 開発の最も一般的な機能の 1 つディレクトリとファイルを操作します。 (插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/ 文件和目录高级处理 相比 复制文件 移动文件 使用函数 读取压缩及归档压缩文件 使用函数 解压文件 使用函数 小结 需要注意的是不同的操作系统中,路径分隔符不一样,在文件处理时需要考虑。也可以使用 Python系列博客持续更新中 大量免费学习推荐,敬请访问python教程(视频)
メソッド
説明
例
os.getcwd()
現在のディレクトリ パスを取得します
os.chdir('target path')
現在のスクリプト ディレクトリを変更します
os.listdir(path) ディレクトリ内のすべてのファイルをリストします
os.mkdir(path) ##os.makedirs(path)単一ディレクトリの作成
os.rmdir(path)複数レベルのディレクトリを作成します
単一レベルの空のディレクトリを削除します
#os.removedirs( path) 複数レベルのディレクトリを削除 ディレクトリまたはファイルの名前を変更します
##os.rename("ファイルまたはディレクトリ名", "ターゲット名")
##os.path.abspath()
絶対パスを取得します パス文字列の最後の文字の場合\ の場合、ファイルのみ フォルダー部分に値があります;
os.path.split(path)
パスを (フォルダー、ファイル名) に分解しますパス文字列に \ がない場合、ファイル名部分のみに値があります; ## os.path.dirname(path)パス文字列に \ が含まれており、フォルダー部分が値を持ちません。最後に、フォルダー名とファイル名にはすべて値が含まれます。
os.path.join(path1,path2)
#パスの結合
パスのフォルダー部分を取得
##ファイルまたはフォルダが存在するかどうかを判定os.path.basename( path) パスのファイル名を取得 ##os.path.exists(path)
#os.path.isfile(path)
os.path.isdir(path)パスがファイルかどうかを判断します
os .path.getsize(path)パスがディレクトリであるかどうかを判断する
ファイルまたはフォルダーのサイズを取得
##os.path.getctime(path) ファイルまたはフォルダーの作成時刻を取得する
os.path.getatime(path) ファイルまたはフォルダーを最後に取得するアクセス時間 ファイルまたはフォルダーの最終変更時刻を取得します
os.path.getmtime(path)
#os.sep()
パス区切り文字
#os.extsep()
ファイル名とサフィックスの間の区切り文字
os.pathsep()
パス区切り文字
os.linesep() 改行記号
##
os
模块,shutil
模块用于文件和目录的高级处理,提供了支持文件赋值、移动、删除、压缩和解压等功能。
shutil
模块的主要作用是赋值文件,大概有以下七种实现:
shutil.copyfileobj(file1,file2)
覆盖复制
将file1的内容覆盖file2,file1、file2表示打开的文件对象。shutil.copyfile(file1,file2)
覆盖复制
也是覆盖,但是无须打开文件,直接用文件名进行覆盖(其源码还是调用的copyfileobj)。shutil.copymode(file1,file2)
权限复制
仅复制文件权限,不更改文件内容、组和用户,无返回对象。shutil.copystart(file1,file2)
状态复制
复制文件的所有状态信息,包括权限、组、用户和时间等,无返回对象。shutil.copy(file1,file2)
内容和权限复制
复制文件的内容和权限,相当于先执行了copyfile再执行了copysmode。shutil.copy2(file1,file2)
内容和权限复制
复制文件的内容及所有状态信息,相当于先执行了copyfile再执行了copystart。shutil.copytree()
递归复制
递归地复制文件内容及状态信息
shutil.move()
函数可以递归地移动文件或重命名,并返回目标,若目标是现有目录则src再当前目录移动;若目标已经存在且不是目录,则可能会被覆盖。
shutil.make_archive()
创建归档文件,并返回归档后的名称。
语法如下:shutil.make_archive(base_name,format[,root_dir[,base_dir[,verbose[,dry_run[,owner[,group[,logger]]]]]]])
import shutil
path_1 = r'D:\PycharmProjects\Hello'path_2 = r'D:\PycharmProjects\Hello\shutil-test'new_path = shutil.make_archive(path_2,'zip',path_1)print(new_path)
shutil.unpack_archive(filename[,extract_dir[,format]])
分析拆档。
import shutilimport os
shutil.unpack_archive('D:\PycharmProjects\Hello\shutil-test.zip','D:\\testdir')print(os.listdir('D:\\testdir'))
os.sep()
来替代文件分隔符,因为操作系统而造成的程序异常。此外处理文件时往往需要注意文件权限,还有注意文件和文件夹的区别,使用递归等。
以上がPythonでosモジュールとshutilモジュールを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。