PythonのOSモジュールの使い方とサンプル
Python の os モジュールは、オペレーティング システムとの対話に使用される標準ライブラリの 1 つで、ファイルやディレクトリを操作するための便利な関数や変数が多数提供されています。一般的な OS モジュール関数の使用法を次に示します:
1. 現在の作業ディレクトリを取得します:
import os cwd = os.getcwd() print(cwd)
2. 現在の作業ディレクトリを切り替えます:
import os os.chdir('/path/to/new/directory')
3.ディレクトリを一覧表示します:
import os files = os.listdir('/path/to/directory') print(files)
4. 指定されたパスがディレクトリであるかどうかを確認します:
import os path = '/path/to/directory' if os.path.isdir(path): print("It's a directory") else: print("It's not a directory")
5. 指定されたパスがファイルであるかどうかを確認します:
import os path = '/path/to/file' if os.path.isfile(path): print("It's a file") else: print("It's not a file")
6. ファイルのサイズをバイト単位で取得します:
import os path = '/path/to/file' size = os.path.getsize(path) print(size)
7. 指定されたパスが存在するかどうかを確認します:
import os path = '/path/to/file_or_directory' if os.path.exists(path): print("It exists") else: print("It doesn't exist")
8. 新しいディレクトリを作成します:
import os path = '/path/to/new/directory' os.mkdir(path)
9. 新しいディレクトリを再帰的に作成します (ディレクトリが存在しない場合):
import os path = '/path/to/new/directory' os.makedirs(path, exist_ok=True)
10. ファイルまたは空のディレクトリを削除します:
import os path = '/path/to/file_or_directory' os.remove(path)
11. ディレクトリとその内容を再帰的に削除します:
import os path = '/path/to/directory' os.system('rm -rf ' + path)
その他の便利な使い方:
12.os.path.splitext() メソッドは、パスをファイル名と拡張子の 2 つの部分に分割します。ファイル名の最後の「.」を区切り文字として使用して、ファイル名と拡張子を区切ります。たとえば、ファイル パスが「/path/to/file.txt」の場合、os.path.splitext() メソッドはタプル (「/path/to/file」、「.txt」) を返します。
ファイル名に「.」が含まれていない場合、返される拡張子は空の文字列であることに注意してください。ファイル名が「.」で始まる場合、拡張子のないファイルとみなされ、os.path.splitext() メソッドは (ファイル パス, '') を返します。
次は例です:
import os path = '/path/to/file.txt' file_name, ext = os.path.splitext(path) print('文件名为:', file_name) print('扩展名为:', ext)
出力結果は次のとおりです:
ファイル名は次のとおりです: /path/to/file
拡張子は次のとおりです。 : .txt
13. ファイル権限の設定:
import os os.chmod('/path/to/file', 0o777) # 设置读、写、执行权限
os.chmod() メソッドを使用して、ファイルまたはディレクトリのアクセス権限を変更できます。ファイル パスと新しいアクセス許可モードの 2 つのパラメータを受け入れます。許可モードは 8 進数で表すことができ、各ビットは異なる許可を表します。
権限モードの例をいくつか示します:
0o400: 読み取り専用権限
0o200: 書き込み権限
0o100: 実行権限
0o700: すべての権限
14. CPU の数を取得します。
import os cpu_count = os.cpu_count() print('CPU数量为:', cpu_count)
os.cpu_count() によって返される CPU の数は物理 CPU コアの数であり、ハイパースレッディング テクノロジの仮想コアは含まれないことに注意してください。ハイパー スレッディング テクノロジを備えたシステムでは、各物理 CPU コアが 2 つの仮想コアに分割されるため、os.cpu_count() メソッドは実際の CPU コア数よりも大きい数値を返す場合があります。
さらに、os.cpu_count() メソッドは、オペレーティング システムごとに実装が異なる場合があります。一部のオペレーティング システムでは、物理 CPU コアの数ではなく、論理 CPU コアの数のみが返される場合があります。したがって、この方法を使用する場合、詳細については関連ドキュメントを参照することをお勧めします。
15. 新しいプロセスを開始します:
import os os.system('notepad.exe')
os.system() メソッドは、オペレーティング システム上でコマンドを実行し、コマンドの終了ステータス コードを返すことができます。そのパラメータは文字列タイプのコマンドであり、任意の有効なシステム コマンドを使用できます。
次の例は、os.system() メソッドを使用して簡単なコマンドを実行する方法を示しています:
import os os.system('echo "Hello, World!"')
上記のコードは Hello, World! 文字列を出力し、コマンドの終了ステータス コード (通常は成功の場合は 0)。
os.system() メソッドは、コマンドの実行が完了するまで現在のプロセスをブロックすることに注意してください。現在のプロセスをブロックせずにコマンドを実行したい場合は、subprocess.Popen() など、subprocess モジュール内の他のメソッドの使用を検討できます。
次の別の例は、os.system() メソッドを使用して、wget を使用して Linux システムにファイルをダウンロードするなど、複雑なコマンドを実行する方法を示しています。上記のコードは、url パラメーターで指定されたファイルを、output_dir パラメーターで指定されたディレクトリにダウンロードし、コマンドの終了ステータス コードを返します。
16.os.environ: これは、現在の環境変数を含む辞書です。 os.environ[key] を使用して、特定の環境変数の値を取得できます。
17.os.exec*(): これらのメソッドを使用すると、Python プログラムは現在のプロセスで他のプログラムを実行し、現在のプロセスを置き換えることができます。たとえば、os.execv() メソッドは、指定された引数リストを使用してプログラムを実行し、現在のプロセスを置き換えることができます。
18.os.fork(): このメソッドは、プログラムを並列実行するために Unix または Linux オペレーティング システム上に子プロセスを作成できます。子プロセスは、コード、データ、スタックなどを含む親プロセスのすべてのメモリ内容をコピーするため、プログラムは親プロセスに基づいて実行を続行できます。
19.os.kill(): このメソッドは、指定されたプロセスにシグナルを送信するために使用されます。 os.kill(pid, signal) メソッドを使用すると、指定したシグナルを指定したプロセスに送信できます。一般的に使用される信号には、SIGINT (割り込み信号)、SIGTERM (終了信号)、SIGKILL (強制終了信号) などがあります。
20.os.pipe(): このメソッドは、プロセス間の通信用のパイプを作成できます。 os.pipe() メソッドは 2 つのファイル記述子を返します。1 つはパイプ データの読み取り用で、もう 1 つはパイプ データの書き込み用です。
21.os.wait(): このメソッドは、子プロセスの終了を待ってから、子プロセスのステータス コードを返すことができます。 os.waitpid(pid, options) メソッドを使用すると、指定したプロセスが終了するのを待機し、プロセスのステータス コードを返すことができます。
22.os模块可以用来操作文件路径。例如,os.path.join(path, *paths)可以将多个路径拼接成一个完整路径,os.path.abspath(path)可以将相对路径转换为绝对路径,os.path.split(path)可以将路径分割成目录和文件名。
23.遍历目录树
import os def list_files(path): for root, dirs, files inos.walk(path): for file in files: print(os.path.join(root, file)) list_files('.')
这段代码可以遍历当前工作目录及其子目录下的所有文件,并打印出它们的完整路径。
os.walk()是os模块中一个非常有用的函数,用于遍历指定目录及其子目录下的所有文件和目录。它返回一个三元组(root, dirs, files),其中root是当前目录的路径,dirs是当前目录下的子目录列表,files是当前目录下的文件列表。下面是一个os.walk()的详细解释和示例:
for root, dirs, files in os.walk(top, topdown=True, onerror=None, followlinks=False): # Do something with root, dirs, and files
top是指定的目录路径,可以是相对路径或绝对路径。
topdown是一个布尔值,表示遍历时是否先遍历当前目录,再遍历子目录。如果为True(默认值),则先遍历当前目录,再遍历子目录;如果为False,则先遍历子目录,再遍历当前目录。
onerror是一个可选的错误处理函数,如果在遍历过程中出现错误,则会调用这个函数。
followlinks是一个布尔值,表示是否跟随符号链接。如果为True,则会跟随符号链接遍历目录;如果为False(默认值),则会忽略符号链接。
在遍历过程中,os.walk()会依次遍历指定目录及其子目录下的所有文件和目录,并返回当前目录的路径、子目录列表和文件列表。可以通过遍历返回的三元组来处理目录和文件。例如,可以使用下面的代码列出指定目录下的所有文件和子目录:
import os def list_files_and_dirs(path): for root, dirs, files in os.walk(path): print(f'Directory: {root}') for file in files: print(f' File: {os.path.join(root, file)}') for dir in dirs: print(f' Subdirectory: {os.path.join(root, dir)}') list_files_and_dirs('.')
这段代码会遍历当前工作目录及其子目录下的所有文件和目录,并输出相应的信息。
需要注意的是,os.walk()只会遍历当前目录及其子目录下的文件和目录,不会遍历符号链接所指向的文件或目录。如果需要遍历符号链接所指向的文件或目录,需要设置followlinks=True。
以上がPythonのOSモジュールの使い方とサンプルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。
