前提
退屈なことはpythonにやらせようという書籍で、コマンドラインやクリップボードから調べたい住所を取得し、その住所のGoogleMapのページをWebブラウザで開くというものがあり、それをやっています。
クリップボードから住所を開くことはできましたが、コマンドラインから住所を取得するにはどうすればいいかがわかりません。書籍には以下のプログラムをC:> mapit 870 Valencia St, San Francisco, CA 94110をコマンドラインで実行できるように設定してくださいとだけ書いてあるのですが、どう設定すればいいのでしょうか?
コマンドラインや環境変数などの理解が浅いのもあると思うので、ご教授願いたいです。
実現したいこと
コマンドラインから住所を取得して、その住所のGoogleMapのページをWebブラウザを開く。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python
1 2#! python3 3# mapIt.py -commandline, clipboardに指定した住所の地図を開く 4 5import webbrowser, sys, pyperclip 6 7if len(sys.argv) > 1: 8 #commandlineから住所を取得する 9 address = ' '.join(sys.argv[1:]) 10else: 11 #clipboardから住所を取得する 12 address = pyperclip.paste() 13 14webbrowser.open('https://www.google.com/maps/place/' +address)
試したこと
補足情報(FW/ツールのバージョンなど)
Windows11 Python 3.10.5
現状のコードではどういうふうになるんでしょうか
> クリップボードから住所を開くことはできましたが
これは具体的にどういう操作をしたのでしょうか?
「mapIt.py」が「C:\aaa\bbb」にあるとして以下説明しますので、質問者さんの環境の実際のファイル名やパスに置き換えてください
コマンドプロンプトで下記を実行したら、どうなりますでしょうか?
cd /d C:\aaa\bbb
python mapIt.py 870 Valencia St, SanFrancisco, CA 94110
クリップボードから住所を開くことはできましたが
>住所をクリップボードにコピーし、コマンドプロンプトにてpython mapIt.pyを実行したらできました。
cd /d C:\aaa\bbb
python mapIt.py 870 Valencia St, SanFrancisco, CA 94110
>こちらでも同様にできました。
python mapIt.py 870 Valencia St, SanFrancisco, CA 94110
の「870 Valencia St, SanFrancisco, CA 94110」が「コマンドライン引数」ですから、
> コマンドラインから住所を取得
ができてます
そうなんですね!書籍では、コマンドラインで実行できるように設定してください。のところでpythonスクリプトを実行するためにバッチファイルを作るページに誘導されたので、環境変数の設定などが必要かと思っていました。
コマンドラインについてもっと自分で調べてみたいと思います。ありがとうございます。
回答2件
あなたの回答
tips
プレビュー