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ツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

目次暗号通貨取引における感情分析とは何ですか?暗号通貨投資で感情分析が重要である理由は、感情データの重要なソースa。ソーシャルメディアプラットフォームb。ニュースメディアc。センチメント分析とテクノロジーのツールセンチメント分析で一般的に使用されるツール:採用された技術:センチメント分析を取引戦略に統合する方法:戦略の使用方法:戦略の例:BTC取引シナリオシナリオ設定の仮定:感情シグナル:決定:結果:結果とリスクハミドによる最近の2025年の研究

Pythonのメモリを超える大きなデータセットを処理する場合、一度にRAMにロードすることはできません。代わりに、チャンク処理、ディスクストレージ、ストリーミングなどの戦略を採用する必要があります。 CSVファイルは、PandasのChunksizeパラメーターを介してチャンクで読み取ることができ、ブロックごとにブロックを処理できます。 Daskを使用して、Pandas構文と同様の並列化とタスクスケジューリングを実現して、大規模なメモリデータ操作をサポートできます。メモリの使用量を減らすために、テキストファイルをラインごとに読み取るためのジェネレーター関数を書き込みます。 Parquet Colornarストレージ形式をPyarrowと組み合わせて使用して、特定の列または行グループを効率的に読み取ります。 NumpyのMemmapを使用して大きな数値配列をメモリして、需要のあるデータフラグメントにアクセスするか、SQLiteやDuckDBなどの軽量データにデータを保存します。

useprint()statementstocheckvariablevaluesAndexecutionflow、addinglabelsandtypesforclarity、andremovethembeforecommitting;

USESUBLIMETEXT’SBUILDSYSTEMTORUNPYTHONSCRIPTSSANDCATCHERRORSBYPRESSINGCTRL BAFTSTITINGTHECRECTSTYSTEMSESTINGACUSTOMONE.2.INSERTSTRATEGICPRINT()STATEMESTCHECKECKVARIABLEVALUES、タイプ、タイプ、セキュリティフロー、LABELSANDREPRを使用します

Pythonがインストールされ、システムパスに追加されていることを確認し、Python(versionまたはpython3-version Verification from terminal)を実行してください。 2。hello.pyなどの.py拡張子としてpythonファイルを保存します。 3. sublimetextでカスタムビルドシステムを作成する、Windowsユーザーは{"cmd":["python"、 "-u"、 "$ file"]}を使用します。

flatteninganestedlistinpythonconvertsalist withssublistslistslistslistslistslistlistlist、およびthebestmethoddependsonthentingdepthanddatasize.forone-levelnesting、uselistcomlethinglike [itemforsublistinnested_listforitemunvitunivispublist(

Pythonスクリプトをデバッグするには、最初にPython拡張子をインストールしてインタープリターを設定し、Launch.jsonファイルを作成してデバッグ構成を設定する必要があります。次に、コードにブレークポイントを設定し、F5を押してデバッグを開始する必要があります。スクリプトはブレークポイントで一時停止され、チェック変数と段階的な実行が可能になります。最後に、コンソールの出力を表示したり、ログを追加したり、パラメーターを調整したりするなどして問題を確認して、環境が正しい後にデバッグプロセスがシンプルで効率的であることを確認します。

この例は、pythonplotlydash上に構築されたインタラクティブなWebアプリケーションを示しています。 1. Dashを使用してWebアプリケーションインターフェイスを作成します。 2。ドロップダウンメニュー(ドロップダウン)からデータシリーズ(販売、利益、費用)を選択します。 3.プロットを使用して、対応する時系列ラインチャートを動的に描画します。 4.データはシミュレートされた100日間の時系列であり、簡単な描画のために長い形式に変換されます。 5.コールバック関数は、ユーザーの選択に応じて、チャートコンテンツをリアルタイムで更新します。実行後、アプリケーションはローカルサーバーで開始され、ブラウザからアクセスできます。動的な相互作用とリアルタイムの更新をサポートします。初心者がダッシュの基本的な構造と応答メカニズムを理解するのに適しています。また、実際のデータによって追加およびアクセスすることもできます。
