C#で指定パス内のすべてのディレクトリとサブディレクトリを取得する方法
C#でディレクトリ一覧を取得するには、Directory.GetDirectories メソッドを使用します。このメソッドは、指定したディレクトリ内で検索パターンに一致するサブディレクトリの名前(パスを含む)を返し、オプションでサブディレクトリも再帰的に検索できます。
検索パターンとして使用する「*」は、その位置にある0文字以上の任意の文字列に一致します。また、SearchOption.TopDirectoryOnly を指定すると最上位のディレクトリのみを取得し、SearchOption.AllDirectories を指定するとすべてのトップレベルディレクトリとそのサブディレクトリを取得します。
注意: コード内の rootPath はご自身の環境に合わせて変更してください。テスト用フォルダを作成し、そのパスを rootPath に設定して動作を確認することをおすすめします。
例1:TopDirectoryOnly(直下のディレクトリのみ取得)
static void Main(string[] args) {
string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly);
foreach (string dir in dirs) {
Console.WriteLine(dir);
}
Console.ReadLine();
}出力結果
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1 C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2
例2:AllDirectories(すべてのサブディレクトリも取得)
static void Main(string[] args) {
string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories);
foreach (string dir in dirs) {
Console.WriteLine(dir);
}
Console.ReadLine();
}出力結果
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1 C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2 C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory
このように、SearchOption の指定を変えるだけで、直下のディレクトリだけを取得するか、階層全体を再帰的に取得するかを簡単に切り替えることができます。なお、アクセス権限のないフォルダが含まれる場合、AllDirectories を使うと例外が発生することがあるため、必要に応じて try-catch によるエラーハンドリングを追加すると安全です。
-
Matplotlibで棒グラフのすべての棒を取得する方法
Matplotlibの棒グラフですべての棒を取得したい場合は、bar()メソッドを呼び出し、その戻り値として返される棒(BarContainer)を受け取るだけで実現できます。本記事では、具体的な手順とサンプルコードをわかりやすく解説します。 手順 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。 figureオブジェクトとサブプロットを作成します。 NumPyを使ってx・yのデータポイントを生成します。 ax.bar()で棒グラフを作成し、戻り値をbars変数に格納します。 barsから特定の棒を取り出し、set_color()で色を変更します。 plt.show()
-
Tkinterでウィジェットの現在のX・Y座標を取得する方法
Tkinterは、PythonでGUIアプリケーションを開発するために広く利用されている標準ライブラリです。ボタン、テキストボックス、ラベルなど、さまざまなウィジェットが用意されており、これらを組み合わせることで直感的なユーザーインターフェースを構築できます。さらに、ウィジェットの配置位置や座標も、専用の関数やライブラリを使って柔軟にカスタマイズすることが可能です。ここでは、Tkinterフレーム上に配置したウィジェットの実際の座標を取得する方法を紹介します。ウィジェットの正確な座標を知りたい場合には、Tkinterライブラリが提供するgeometry(ジオメトリ)関連のメソッドを活用します。