【Python入門】VS Code上でカレントワーキングディレクトリを変更・設定する方法とコード

VS Code上でPythonファイルを実行するときに、カレントワーキングディレクトリを変更・設定する方法の解説

PythonのコードをVS Code上で動かすときに、それらのインストールしたときの設定や環境によって、

  • A:動かすコードが書かれたファイルが入っているディレクトリ/フォルダ
  • B:もともと設定されてしまっているカレントディレクトリ/フォルダ(カレントワーキングディレクトリ/フォルダ)

この2つがズレていることがあります。

その状態だといろいろ不便なことが多いので、カレントワーキングディレクトリをAのほうに揃えたいと思うこともあるでしょう。

ですが毎回同じコードを書くのは面倒なので、私は関数としてそれを作成し、使い回すようにしています。今回は私が実際に使っているコードを紹介します。

Pythonのスクリプトのカレントワーキングディレクトリを変更・設定する方法とそのコード

osモジュールについて

Pythonでカレントワーキングディレクトリを確認したり、それを変更したりするには便利なosモジュールを使います。

Python公式ドキュメント:os — 雑多なオペレーティングシステムインターフェース¶

このosモジュールの中には、次の2つの関数が用意されています。

  • getcwd():現在の作業ディレクトリ(カレントワーキングディレクトリ)を表す文字列を返す
  • chdir(path):引数pathに設定されたパスを、現在の作業ディレクトリ(カレントワーキングディレクトリ)として設定する

また、同モジュールにはOSの種類を取得する機能もあり、それが次のos.nameというものです。

  • os.name:’posix’, ‘nt’, ‘java’の文字列を返す。’nt’はWindows、’posix’はMacなどを表します。

これらを使い次のようなコードを書いて使っています。

カレントワーキングディレクトリを変更し設定するコード

5行目と6行目の、

mac_working_directory_path=''
win_working_directory_path=''

の「”」の中に、みなさんがカレントワーキングディレクトリとして設定したパスを入れてください。たとえば、

mac_working_directory_path='/Users/hogehoge/Library/CloudStorage/Dropbox/'
win_working_directory_path='C:/Users/hogehoge/Dropbox/Python_Sample/'

とかです。Windowsの場合は「¥」記号を使わないように注意してください。半角の「/(バックスラッシュ)」に統一しておきましょう。

みなさんの環境に合わせて設定してください。

VS Codeのユーザースニペットに登録して使い回す

あとは上のコードをVS Codeのユーザースニペットに登録しましょう。そうすればPythonのファイルを作るときに、一発で簡単に上のコードが入力できます。

私は以下のコードを、python.jsonファイルの中に記述しています。

"カレントワーキングディレクトの変更・設定":{
	"prefix": "set_working_directory",
	"body":[
        "def set_working_directory():def set_working_directory():",
            "import os",
            "# print(os.getcwd())",
            "mac_working_directory_path='パスを設定'",
            "win_working_directory_path='パスを設定'",
            "#for mac",
            "if os.name=='nt':",
            "    os.chdir(win_working_directory_path)",
            "else:",
            "    os.chdir(mac_working_directory_path)",
            "# print(os.getcwd())",
                
        "set_working_directory()",
	]

この中の、

"mac_working_directory_path='パスを設定'",
"win_working_directory_path='パスを設定'",

の部分もみなさんの環境に合わせて設定してください。

このようにユーザースニペットに加えておくと、

VS Codeのユーザースニペット

このように、Pythonファイルを開いて、「se」と入力した時点で次のような候補が出てきて、”prefix”項目で設定した、

"prefix": "set_working_directory",

「set_working_directory」という名前の項目が登場します。あとはそれを選ぶだけで上のコードが自動的に入力されて便利です。もちろんモジュール化してしまうのもアリでしょう。