2013-07-11 13 views
6

py uzantısı olmadan bir piton dosya çalışmasını sağlar ve girdileri kullanarak bazı işlemleri alınan yapılır ve sonucu Aşağıdanasıl komut satırı argümanları girdi süren küçük python komut dosyası vardı

gösterilecek çalışma örneği kodudur için

i

olarak bu yürütme ediyorum Şimdi

import sys 

arguments = sys.argv 
first_name = sys.argv[1] 
second_name = sys.argv[2] 

print "Hello {0} {1} !!!!".format(first_name,second_name) 

some_file.py 0

python some_file.py Steve jobs 

Sonuç:

Hello Steve Jobs !!!! 

Şimdi tüm istediğim, ben yani, dosya adı ve piton dosya adının uzantısı önce piton komutunu kullanmak istemiyorum ne i dosyayı çalıştırmak istiyorum python dosyasını yukarıdaki gibi çalıştırmak için

gibi bir komut aracı olarak ne yapmalı?

cevap

3

Unix benzeri OS çözümü: Dosyanın ilk satırı, #!/usr/bin/python (veya python yorumlayıcısının olduğu her yerde) ve chmod u+x10 komut dosyası olmalıdır. ./some_file parameters ile çalıştırın.

some_file parameters ile başlatmak isterseniz, PATH: sudo ln -s some_file /usr/bin ürününüzün içinde bulunan bir dizinde betiğin bağlantısını yapmanız yeterlidir.

some_file Steve Jobs 
+0

Tam olarak komut dosyasının başlangıcına yol ekledim ve chmod u + x ile çalıştırılabilir hale getirdim. ve ondan sonra yukarıdaki "li" yi çalıştırdığımda "" bash: ./some_file: Böyle bir dosya veya dizin yok "" –

+1

Shebang çizgisi, Python yorumlayıcısının tam yolunu veya onu bulacak bir bilinen yol programı içermelidir. "#!/usr/bin/env python" gibi. Ayrıca, shebang tabanlı çözümler sadece Windows üzerinde değil, Unix benzeri işletim sistemlerinde çalışır. – user4815162342

+0

Ayrıca, bazı_dosyasından önce bile "./" kullanmak istemiyorum, örneğin bir araç olarak kullanmak istiyorum. Örneğin, eğer linux içinde yazı tipi bazı detayları doğru gösterirse, yani –

3

böyle senin cmd yazabilirsiniz şimdi

ln -s some_file.py some_file 

yumuşak bağlantıyı yapmak:

Yani, burada tam bir prosedür execfile('path') kullanarak python kabuğundaki programı.

+0

Bitti bu işe yarar :) –

+0

ama bu geçici bir çözüm olduğunu düşünüyorum, çünkü biz dosyayı başka bir yere kopyalarsak, umarım pürüzsüz uzatma olmadan dosyayı çalıştırmak için yukarıdaki komutu çalıştırmamız gerekir umarım. Ben arama ve söz konusu py dosyası var nerede değil, ama biz bazı dosyaları (gibi) uzantı olmadan çalıştırmak için –

+0

çalışmalıdır, bu yüzden eğer biz erişebilir python yolu kalıcı olarak python yolunda dosya Yukarıdaki şekilde dosya? –