2012-05-02 5 views
1

私はPythonプログラムを書いて、特定のディレクトリに存在するファイルのセットを分析しました。つまり、パスを尋ねると、パスディレクトリに入り、指定されたファイルを見つけて処理し、ファイル。しかし、私はUNIXマシン上でプログラムを実行するたびに、私はpython my_prog.pyと書く必要があります。また、ディレクトリを処理するには、プログラムをまずディレクトリにコピーしてから実行する必要があります。UNIXでPythonコードを実行する

UNIXの場合は、任意のディレクトリにmy_progと入力すると、プログラムが実行されます。これは、プログラムファイルをターゲットディレクトリにコピーすることを取り除くことを意味します。これどうやってするの?

答えて

2

常に、shebang行を追加してexecutableとし、$PATHのディレクトリにコピーします。

9

chmod +x my_prog.py 

を使用してプログラムを実行可能にしますが、あなたのソースファイルの先頭に

#!/usr/bin/env python 

(またはこれに相当するもの)を入れて、あなたの内のディレクトリにあなたのmy_prog.pyスクリプトを配置します(つまり、コマンドが実行されるために検索される環境変数PATHによって通常定義されているディレクトリのセットのどこか)にあります。

あなたのプログラムがあなたのパスに入ったら、プログラムを現在のディレクトリに配置したり、ディレクトリパスを完全に指定したりせずに、どこからでも実行できます。

あなたは、このコマンドを使用して、ほとんどのシェルでは、あなたの現在のPATH環境変数の値を参照することができるはずです。念のために

env | grep -i path 

または

echo $PATH 

を、ここではもう少し基本的なものですPATH変数に関する情報:http://www.cs.purdue.edu/homes/cs348/unix_path.htmlおよび http://kb.iu.edu/data/acar.html。 Googleはもっと多くを生み出すだろう。希望 これは役立ちます。

+0

私はちょうど私のパス内のディレクトリにprogファイルをコピーしたくないと言ってきました。 – diffracteD

+3

あなたのパスはあなたの現在の作業ディレクトリではなく、あなたのパスは '/ usr/bin'あなたはコマンドを実行することができます。それらの場所の1つにそれを一度コピーすれば、それをどこでも実行することができます。 – Marius

+0

@マリウスは正しいです、私は私の元の答えにいくつかの追加の説明を追加しました。希望が役立ちます。 – Levon

関連する問題