'a iletmenin bir yolu var. Envanteri içe aktaran ve bazı Test Noktalarına sahip bir modülüm var. Bazı komut satırı seçeneklerini (örneğin, bir veri dosyasının adı), kabul etmek için olmasını isterim ama seçeneği iletmeye çalıştığımda "seçenek-tanınmadı" iletisini alırım. Uygulamaya uygun olmayan + seçenekler sunmak mümkün mü (not: seçenekleri işlemek için optparse kullanıyorum)? Teşekkürler.python, unittest: komut satırı seçeneklerini app
$ python test_app_data.py -i data_1.txt
option -i not recognized
=====================
takip:
import cfg_master #has the optparse option-handling code
...
if __name__ == '__main__':
#add you app's options here...
options_tpl = ('-i', '--in_dir', '-o', '--out_dir')
del_lst = []
for i,option in enumerate(sys.argv):
if option in options_tpl:
del_lst.append(i)
del_lst.append(i+1)
del_lst.reverse()
for i in del_lst:
del sys.argv[i]
unittest.main()
: Bu önerilen çözümün bir uygulamasıdır Eğer
unittest
koduna kontrolünü geçmesi önce ikinci kod komut satırı seçeneklerini yorumlamaya çalışmaz böylece bize gösterilmiyor sizin
if __name__ == '__main__':
bölümünde,
unittest.main diyoruz. Bu durumda, cevap vermediğiniz ayrıntılara çok bağlı görünmektedir. –
(@jd. "Takip" iniz bir cevap olarak yayınlanmalıdır - sorunuz sadece ... iyi ... soruyu içermelidir. – user1251007