2013-03-14 9 views
6

Programın program ile komut satırı ile çalışacağı python program yazıyorum. Kullanıcıdan komut almak için raw_input kullanıyorum. Bash'taki gibi "bellek" e sahip olmak istiyorum, yani klavyenizde bir ok (yukarı veya aşağı) basarsanız, önceki/sonraki komutu alırsınız. Ben (sadece kullanıcı tarafından yazılan her kömürü almak ve kontrol) bunu yapmak için yaklaşık bir yolunu biliyorum, ama belki daha iyi bir şey/şirinkomut satırı

selam :-) biliyoruz

+0

Neden tüm kullanıcıların girişini bir listeye koyup komut dizinini takip etmiyorsunuz? Böyle bir şey, eğer yukarı oka basarsa, komut dizinini azaltır (böylece önceki komutu alırız) ve aşağı komut dizini artar. – thegrinner

cevap

11

Ne istediğinizi anlamak yapabilirsiniz Sadece readline modülünü içe aktararak elde edin. Bu, raw_input() davranışını değiştirecek, böylece tarih ve satır düzenlemesi açısından python etkileşimli kabuğu gibi davranacaktır.

Ancak dikkatli olun, bu yüzden bir deneyin blok içine aktarmadan öneririm readline olmadan piton inşa etmek mümkündür:

try: 
    import readline 
except: 
    pass #readline not available 
+0

evet, istediğim tam buydu, teşekkürler! – sokoli