PythonのコードをVS Code上で動かすときに、それらのインストールしたときの設定や環境によって、
- A:動かすコードが書かれたファイルが入っているディレクトリ/フォルダ
- B:もともと設定されてしまっているカレントディレクトリ/フォルダ(カレントワーキングディレクトリ/フォルダ)
この2つがズレていることがあります。
その状態だといろいろ不便なことが多いので、カレントワーキングディレクトリをAのほうに揃えたいと思うこともあるでしょう。
ですが毎回同じコードを書くのは面倒なので、私は関数としてそれを作成し、使い回すようにしています。今回は私が実際に使っているコードを紹介します。
Contents
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='パスを設定'",
の部分もみなさんの環境に合わせて設定してください。
このようにユーザースニペットに加えておくと、

このように、Pythonファイルを開いて、「se」と入力した時点で次のような候補が出てきて、”prefix”項目で設定した、
"prefix": "set_working_directory",
「set_working_directory」という名前の項目が登場します。あとはそれを選ぶだけで上のコードが自動的に入力されて便利です。もちろんモジュール化してしまうのもアリでしょう。
世界最大の動画学習サイトUdemyのおすすめPython講座【PR】
- AWSで作るWEBアプリケーション 実践講座
- 現役シリコンバレーエンジニアが教えるPython
3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
- 独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】
- 【完全初心者向け】絶対に挫折させないPython入門講座
- 【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
- はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス
- 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
- 現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門