2016-10-29 3 views
-4

私は現在、カスタムファイルタイプで動作するプログラムを作成しています。私のプログラムは、ファイルが開かれたときに実行されますが、起動時にプログラム内から特定の関数を呼び出す方法がわかりません。Pythonファイルの関連

+2

あなたのタイトルはあなたの実際の質問に同意しません。あなたのタイトルはあまり曖昧ですので、あなたが実際に求めていることを反映するように変更してください。 –

+0

Windows上のPythonがLinuxやmacOS上のPythonのようなものであれば、ファイル名はコマンドライン引数として渡されます。これらのファイルにアクセスするには、 'import sys'をファイルの先頭に置き、' sys.argv'を使用します。 'sys.argv [0]'はプログラム名であるため、最初のコマンドライン引数は 'sys.argv [1]'になります。 – Samadi

+0

Like:同じファイルですが、異なるファイル名に異なる機能がありますか? – sbrm1

答えて

0

このような何か作業をする必要があります:

import sys 

... 

if __name__ == '__main__': 
    if len(sys.argv) > 1: 
     do_stuff_with_file(sys.argv[1]) 
    else: 
     do_stuff_without_file() 
-2

を試してみてください。task1()カスタム拡張のために実行されます

import sys 

... 

if '.custext' in sys.argv[1] : 
    task1() 
elif '.py' in sys.argv[1]: 
    task2() 
else: 
    task3() 

は、task2()はデフォルト.py拡張のために実行され、ためtask3()実行されますその他の拡張子。

+0

'sys.argv [0]'は最初の引数の名前ではなく、プログラム名です – Samadi

+0

まあ、私は質問を理解できませんでした。問題の第1引数については何も表示されません。 – sbrm1

+0

それで私の編集:) – Samadi

関連する問題