2017-03-24 37 views
0

ユーザーがファイルで指定するアプリケーションを実行したいのですが、そのパスにはスペースが含まれていてもいなくてもかまいません。Pythonを使用してパス内に空白を含むアプリケーションを実行する

command1 ='\''+'"'+DIRECTORY+'"'+'\'' 
command = '"C:/Program Files (x86)/somepath/inside_somepath/Application_name.EXE"' 
# Checking for difference 
print [i for i in xrange(len(command)) if command1[i] !=command[i]] 
if (command1==command): 
    os.system ("start /min \"\" " + command) 
    print "Equal" 
else: 
    print "Not Equal" 

#DIRECTORY is a variable taken from a file . In that File I have written only one line & 
#that is : C:/Program Files (x86)/somepath/inside_somepath/Application_name.EXE 

私はos.system ("start /min \"\" " + command)を実行すると、それがアプリケーションを開き、しかし、私はos.system ("start /min \"\" " + command1)を実行したとき。それは意志

理想的には、両方のCommand1 &コマンドは同じであるべきではない、しかし、私は比較するとき、私は私がからデータを読み取る際に

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 
57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69] 

Not Equal 

はまた、私は文字を削除したことに注意してください「\ n」は、この結果を得ますfile.Soは、誰かが

答えて

1

command1commandcommand1は(アポストロフィまたは単一引用符)文字「」に囲まれて、等しくない、事前に...彼らは、Pythonに異なるように見える理由という感謝を私に説明してくださいすることができます。 パス文字列

command1 = '\'' + '"'+DIRECTORY+'"' + '\'' 
command = '"C:/Program Files (x86)/somepath/inside_somepath/Application_name.EXE"' 

print command1 
print command 

私はあなたがやろうとしている疑いを見てcommand1commandを印刷してみてください。この

command1 = '"' + DIRECTORY + '"' 
command = '"C:/Program Files (x86)/somepath/inside_somepath/Application_name.EXE"' 
+0

はい、私は同じことをしようとしていました!出来た。ありがとう@カギソモガネ – Anukruti

関連する問題