Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python】Pythonでファイルやディレクトリの存在を確認する方法

 

プログラムを書く際、時にはファイルやディレクトリが存在するかどうかを確認する必要があります。

Pythonでは、osモジュールのos.pathモジュールにいくつかの便利なメソッドが用意されています。

今回はその中から、os.path.isfile()os.path.isdir()os.path.exists()メソッドについて見ていきます。

 

目次

 

 

1. os.path.isfile()メソッド

 

os.path.isfile()メソッドは、指定されたパスがファイルであるかどうかを判定します。

ファイルであればTrueを返し、それ以外の場合はFalseを返します。以下に使用例を示します。

 

import os

file_path = "sample.txt"

if os.path.isfile(file_path):
    print(f"{file_path} exists and is a file.")
else:
  print(f"{file_path} does not exist or is not a file.")

 

この例では、カレントディレクトリに"sample.txt"というファイルが存在する場合にその旨が表示されます。

 

 

2. os.path.isdir()メソッド

 

os.path.isdir()メソッドは、指定されたパスがディレクトリであるかどうかを判定します。

ディレクトリであればTrueを返し、それ以外の場合はFalseを返します。以下に使用例を示します。

 

import os

dir_path = "my_directory"

if os.path.isdir(dir_path):
    print(f"{dir_path} exists and is a directory.")
else:
  print(f"{dir_path} does not exist or is not a directory.")

 

この例では、カレントディレクトリに"my_directory"というディレクトリが存在する場合にその旨が表示されます。

 

 

3. os.path.exists()メソッド

 

os.path.exists()メソッドは、指定されたパスが存在するかどうかを判定します。

存在すればTrueを返し、存在しなければFalseを返します。以下に使用例を示します。

 

import os

path = "my_file_or_directory"

if os.path.exists(path):
    print(f"{path} exists.")
else:
  print(f"{path} does not exist.")

 

この例では、カレントディレクトリに"my_file_or_directory"というファイルまたはディレクトリが存在する場合にその旨が表示されます。

 

これらのメソッドを利用することで、Pythonで簡単にファイルやディレクトリの存在を確認することができます。プログラムを書く際に、事前に存在の確認を行うことで、安全性を向上させることができます。

 

 

以上が、Pythonでファイルやディレクトリの存在を確認する方法になります。

 

 

 

【Visual Studio Code】Visual Studio Codeでのメソッドなどの検索方法:効率的なコーディングのためのヒント

 

 効率的なコーディングのためのヒントとしてのVisual Studio Codeでのメソッドの検索方法や使われている場所の検索方法についてになります。

 

目次

 

 

1. はじめに

 

    - Visual Studio Code(以下、VS Code)は、多くのプログラマーにとってお馴染みの便利なコードエディターです。


    - メソッドや関数などの特定のコードを素早く見つけることは、効率的なプログラミングの鍵となります。

 

 

2. シンボル検索の利用

 

    - メソッドだけでなく、クラスや変数などのシンボルも検索できます。
    - 「Ctrl + Shift + O」キーを押すことで、シンボルの一覧が表示され、そこから目的のメソッドを選択できます。

 

 

3. ファイル内検索の効果的な活用

 

    - ファイル内検索機能を使用することで、現在のファイル内でのメソッドの検索が可能です。
    - 「Ctrl + F」キーを押し、表示される検索バーにメソッド名を入力することで、ファイル内で該当するメソッドを探すことができます。

 

 

4. ハイライトされたメソッド名での検索

 

    - メソッド名をハイライトした状態で「command + shift + f」を押すことで、そのメソッド名を含むファイル全体を検索することができます。

 

 

5. メソッド名にカーソルを合わせての検索

 

    - メソッド名にカーソルを合わせて、右クリックメニューから「Find All References」(すべての参照を検索)を選択することで、そのメソッドのすべての参照を見つけることができます。

 

 

6. 拡張機能の活用

 

    - VS Codeは豊富な拡張機能を提供しており、メソッド検索をさらに効率化するためのツールが存在します。
    - ユーザーが好みの拡張機能を検索して導入することで、より便利にメソッドを見つけることができます。

 

 

7. ヒントとテクニック

 

7. ヒントとテクニック
    - メソッド名の一部を入力することで、部分一致検索を行うことができます。
    - 検索結果が多い場合は、絞り込み検索や正規表現を利用して結果を絞り込むことができます。

 

 

8. まとめ


    - VS Codeを使ったメソッドの検索は、効率的なコーディングを支援する重要な機能です。
    - デフォルトの検索機能だけでなく、拡張機能やヒント、テクニックを活用して、より迅速に目的のメソッドを見つけることができます。

 

 

 

 

【Paint.net】消えたツールボックスや色、履歴、レイヤーサブウインドウを再表示する方法

 

ちょっとした画像処理にはPaint.netあたりを使うことも多いのですが、時々操作ミスで横に出ているいくつかの色、履歴などを表示するサブウインドウを消してしまうことがあります。

 

はじめはどこから再表示するのかわからなかったのですが、画面内に表示/非表示切り替えボタンがあることが分かったので備忘録を兼ねて書き残しておきます。

 

場所は以下のようにウインドウ右上の4つ並んでいるボタンです。

左から「ツールボックス」「履歴」「レイヤー」「色」となっています。

誤って消してしまった場合にはこのボタンをクリックすることで再表示できます。

 

Paint.net:消えたサブウインドウを再表示させる方法

Paint.net:消えたサブウインドウを再表示させる方法

 

 

以上が、Paint.netで消えたツールボックスや色、履歴、レイヤーサブウインドウを再表示する方法になります。

 

 

 

【PowerPoint】図(画像)の背景色を透明にする方法

 

PowerPointで図形を作成して保存したり挿入したりしている中で出てくることに背景色を透明にしたいということがあると思います。

 

今回は背景色を透明する方法の説明になります。

 

背景色を透明にする方法

 

例として、まず以下のような円を描いて保存しておきます。

円の描画

円の描画

これをある新しいスライドに挿入します。

すると、以下のような形で「タイトル」という文字の上にかかってしまいました。

円画像の挿入

円画像の挿入

これを円の画像の背景色を透明にすることで下にある文字を表示させます。

やり方としては以下になります。

 

1.先程挿入した図を選択します。

2.上部のメニューの中にある「図の形式」をクリックします。

  続いて「調整」内の「色」をクリックします。

 

図の形式→色の順に選択

図の形式→色の順に選択

3.すると以下のようなプルダウンメニューが表示されますので

  「透明色を指定」をクリックします。

 

透明色を指定をクリック

透明色を指定をクリック

 

4.最後に透明にしたい色(背景色)の部分のどこか一箇所をクリックします。

 

透明にしたい色の一箇所をクリック

透明にしたい色の一箇所をクリック

5.すると、以下のように背景色(白色の部分)が透明になって下にあった文字が表示されるようになります。

図の背景色透明化

図の背景色透明化

 

 

以上が、PowerPointで図(画像)の背景色を透明にする方法になります。

 

 

 

 

 

 

 

 

 

 

【MapBox】地図情報サービスMapBoxをインポートする際に「A Native Collection has not been disposed, resulting in a memory leak. Allocated from: Unity.Collections.NativeArray`1:.ctor(Byte[], Allocator)」のようなエラーが出た場合の対処方法について

 

MapBox導入後にはじめて実行したところ以下のようなエラーが出る場合があります。

 

これもまたちょっと手間取ったこともありその場合の対処方法を備忘録として載せておきます。

 

 

エラー内容

 

今回出たエラーの内容は以下のようなものです。

 

A Native Collection has not been disposed, resulting in a memory leak. Allocated from: Unity.Collections.NativeArray`1:.ctor(Byte[], Allocator)

 

 

 

対応方法

 

エラーの内容は、

メモリの開放しなかったのでメモリーリークしてるというものですね。

 

Disposeで閉じるか処理しているところusingで囲むといいようです。

 

usingで囲む

using(postRequest.uploadHandler = new UploadHandlerRaw(bodyRaw))

 

Dispose()で閉じる

var request = new UnityWebRequest(url);
// 処理
request.Dispose();

 

Unity2020からUnity2021へのアップデート以降出るようになったようです。

 

 

 

 

 

 

 

【MapBox】地図情報サービスMapBoxをインポートする際に「The type or namespace name 'ARBackgroundRenderer' could not be found (are you missing a using directive or an assembly reference?)」のようなエラーが出た場合の対処方法について

 

MapBox導入に際して、Mapbox SDKをプロジェクトにインポートする際に以下のようなエラーが出る場合があります。

 

ちょっと手間取ったこともありその場合の対処方法を備忘録として載せておきます。

 

 

エラー内容

 

今回出たエラーの内容は以下のようなものです。

 

The type or namespace name 'ARBackgroundRenderer' could not be found (are you missing a using directive or an assembly reference?)

 

 

 

対応方法

 

Mapbox SDKをプロジェクトにインポートする場合にはMapbox SDKをサイトからダウンロード後に以下のようにしてインポートします。

 

Unityのメニューの
①「Assets」
②「 Import package」
③「Custom Package」
からMapboxSDKをインポートします。

 

これによりインポート終了時にアクセストークンの設定などもありますが、設定など終了後に先程のエラーが発生します。

 

その場合の解決方法の1つとしては、インポート時のインポート内容としてすべてをインポートせずにAR関連の一部ファイルを除いてインポートするというものです。

以下のように除いてインポートした場合には当該エラーは発生しなくなりました。

 

インポート内容

インポート内容

 

それ以外ではUnityのバージョンを戻すというものもあるようです。

Unity2018.4.36f1ではインポートできる模様、Unity 2021.3.6f1 および 2019.4.40f1 あたりはダメな模様です。

 

 

 

 

 

 

 

 

 

 

 

【MapBox】地図情報サービスMapBoxの導入

 

 

Mapboxは、アメリカ合衆国で2010年に設立された地図プラットフォーム提供会社でリアルタイムで更新されるライブロケーションマップを備えたプラットフォームを提供しています。

 

提供するマップは簡単にUnity上に取り込むことができるものです。

 

・ソースはOpenStreetMapというフリーの地図作成プログラムを元に作成

・アクティブユーザーが月25,000人までであれば無料利用可能

 

ということで基本的には無料で使用可能な地図情報サービスです。

 

Unity上へのマップの表示やそのマップ上への建物表示、地形の表示変更などができるものです。

 

目次

 

 

Mapboxの導入手順

 

おおよそMapboxを使うための手順は以下のようになります。

 

 

1.Mapboxアカウントの作成(無料)

 


まずは、Mapboxのアカウントを作成します。Mapboxのアカウントは無料で作ることができます。

 

以下の公式サイトの「サインアップ」ボタンをクリックし、名前やメールアドレス、パスワードなどの必要事項を入力します。

 

Mapbox - デジタル地図の開発プラットフォーム

 

 

2.Mapbox SDKダウンロード

 

次に、Mapbox SDKをダウンロードします。

 

https://www.mapbox.com/unity/

 

にアクセスし、「SDKをインストールする」をクリックしダウンロードします。

 

 

3.Unityで新3Dプロジェクトを作成

 

続いてUnity側でMapboxから地図データをインポートするための新プロジェクトを作成します。

 

 

4.Mapbox SDKをプロジェクトにインポート


Unityのメニューの
①「Assets」
②「 Import package」
③「Custom Package」
からMapboxSDKをインポートします。

 

 

5.アクセストークンを設定

 

https://account.mapbox.com/auth/signin/?route-to=%22https://account.mapbox.com/access-tokens/%22

 

にアクセスし、Mapboxアカウントでサインインして「create a token」(トークンを作成)をクリックし、今回プロジェクト用の名前を入力してアクセストークンを入手します。

 

入手したアクセストークンをUnity上に入力し設定を完了します。

 

 

個人開発などでUnity上のアプリ開発に実際の地図データを活用したい場合には基本的に無料で簡単に導入可能なMapboxはおすすめです。