私はシェルの使用に不慣れで、$HOME
すべてのpythonスクリプトを配置できるディレクトリを作成し、そのディレクトリへのパスを設定して、Macの任意のフォルダに移動し、特定のファイルでそれらのスクリプトを実行できるようにしたいと考えていました。スクリプトは、それらのスクリプトへの入力として機能するファイルと同じディレクトリ内に含まれている必要はありません。
私はこれを読んで.zshrc
ファイルに追加しました:
export PATH="$HOME/python_functions/bin:$PATH"
それから私はと呼ばれるスクリプトを追加sleep_plotter.py
するpython_functions/bin
私も、すべて私の将来のスクリプトを置くことを予定しておりますところで、。
ただし、そのスクリプトへの入力として使用するテキストファイルを含むフォルダーに移動し、と入力するとpython sleep_plotter.py 113testCtM113.txt
、最後の引数はスクリプトへのテキストファイル入力であり、次のエラーメッセージが表示されます。
python: can't open file 'sleep_plotter.py': [Errno 2] No such file or directory
しかし、を使用してパスを呼び出すと、次のようecho $PATH
に表示されます。
/Users/myname/python_functions/bin:
このことから、Pythonコマンドを実行すると、Pythonがそのディレクトリをsleep_plotter.py
検索していることがわかりました。したがって、このファイルが含まれていない別のフォルダにいる場合でも、Pythonを実行できるはずです。
Mac OSX 10.11.2、zsh、およびAnaconda2.3.0を使用しています。
PATH
変数は、コマンドの実行時に検索されるディレクトリを定義します。ただし、を実行するとpython sleep_plotter.py 113testCtM113.txt
、sleep_plotter.py
はpython
プログラム(コマンド)の引数になります。シェルはPATH
を見つけるためpython
に使用しますが、引数は使用しません。
スクリプトに実行可能属性を追加できます。
$ chmod +x /Users/myname/python_functions/bin/sleep_plotter.py
Pythonスクリプトの先頭(最初の行)にシバンシーケンスを追加します。
#!/usr/bin/env python
そして、コマンドとして直接スクリプトを実行します。
$ sleep_plotter.py 113testCtM113.txt
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加