VSCode Python .vscodeフォルダ内でのインタープリターパス設定

vscode 内でPythonのPath設定

VSCodePythonのパスが通っていない場合や、

特定のバージョンのPythonを利用したい場合に、

.vscodeフォルダ内で Pythonのpathを設定する

デバッグを開始する前に Python インタープリターを選択する必要があります。
デバッグを開始する前に Python インタープリターを選択する必要があります。

python.exeのPathが設定されていない状態では上↑のようなメッセージが表示されます

[Python インタープリターの選択]ボタンをクリックしPythonのPathを入力すれば解決するのですが、 .vscodeフォルダ内でsettings.jsonを作ればフォルダ単位でPathを作成できます

settings.json 作成

フォルダ内の.vscodeフォルダにsettings.jsonファイルを作成する

.vscodeフォルダが ない場合は、 作成する

# PowerShell 
# .vscode フォルダ作成
New-Item -Type Directory .vscode 
# settings.jsonファイル作成
New-Item -Type File .vscode\settings.json
settings.jsonファイル
settings.jsonファイル

settings.jsonファイルに下記のJSONを書く

{
    "python.defaultInterpreterPath": "C:\\Users\\xxx\\AppData\\Local\\Programs\\Python\\python.exe"
}

上記JSONのPythonパスは適当なので、自分の環境に合わせる

設定後、 VSCodeでデバッグ実行[F5]を試す

Python サブフォルダ(サブディレクトリ)含めた ファイル名一覧取得

Python サブフォルダファイル一覧取得

Python で ファイル一覧を取得するには os.listdir()を使います。

下記は、 os.listdir()を 利用してサブディレクトリ(サブフォルダ)内のファイルも取得するコード例です。

import os
import json

def nest_list_dir(in_path: str, file_list: list = None):
    if file_list is None:
        file_list:list = []
    for a_obj in os.listdir(in_path):           # 一覧取得
        a_path = os.path.join(in_path, a_obj)
        if os.path.isdir(a_path):               # ディレクトリなら
            nest_list_dir(a_path, file_list)    # サブディレクトリ(サブフォルダ)に 移動
            file_list.append(f"ディレクトリ({a_path})")
        else:
            file_list.append(a_path)            # ディレクトリ以外はリスト追記
    return file_list

for a in nest_list_dir('./日本'):
    print(a)

./日本 フォルダ構成は下↓です

Python サブフォルダ(サブディレクトリ)含めた ファイル名一覧取得 フォルダ構成

実行すると下↓のようにサブフォルダまで取得できました。

Python サブフォルダ含めたファイル一覧 取得 結果

上↑コード例は Listでしたが、 下↓は JSONの構成で出力できる構成に変更したコード例です

import os
import json
from decimal import Decimal

def nest_list_dir_to_dict(in_path: str):
    file_list:list = []
    for a_obj in os.listdir(in_path):                   # 一覧取得
        a_path = os.path.join(in_path, a_obj)
        if os.path.isdir(a_path):                       # ディレクトリなら
            nest_list = nest_list_dir_to_dict(a_path)   # サブディレクトリ(サブフォルダ)に 移動
            file_list.append({a_obj: nest_list})
        else:
            file_list.append(a_obj)                     # ディレクトリ以外はリスト追記
    return file_list

print(json.dumps(nest_list_dir_to_dict('./日本'), ensure_ascii=False, indent=2, separators=(',', ':'), default=lambda _o : int(_o) if isinstance(_o, Decimal) else TypeError))

実行すると 下↓のように出力されました

[
  ".DS_Store",
  {
    "東京":[
      "新宿区.txt",
      "文京区.txt"
    ]
  },
  {
    "大阪":[
      ".DS_Store",
      "鶴見区.txt",
      {
        "東大阪市":[
          "寺前町.txt"
        ]
      }
    ]
  }
]
2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED