ホームページ バックエンド開発 Python チュートリアル PythonのOSモジュールの使い方とサンプル

PythonのOSモジュールの使い方とサンプル

Apr 22, 2023 pm 10:19 PM
python module 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

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

CentosのPytorchのGPUサポートはどのようにサポートされていますか CentosのPytorchのGPUサポートはどのようにサポートされていますか Apr 14, 2025 pm 06:48 PM

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

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

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

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

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

ミニオペンCentosの互換性 ミニオペンCentosの互換性 Apr 14, 2025 pm 05:45 PM

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

CentosでPytorchの分散トレーニングを操作する方法 CentosでPytorchの分散トレーニングを操作する方法 Apr 14, 2025 pm 06:36 PM

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

CentosでPytorchバージョンを選択する方法 CentosでPytorchバージョンを選択する方法 Apr 14, 2025 pm 06:51 PM

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をCentosにインストールする方法 NginxをCentosにインストールする方法 Apr 14, 2025 pm 08:06 PM

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

See all articles