Buradaki sorun PDB Cmd sınıfını kullanır nerede olduğunu varsayılan olarak:
use_rawinput = 1
Bu, Cmd'nin sys.stdout.readline()
yerine varsayılan olarak raw_input()
yöntemini konsoldan okumak için kullanacağı anlamına gelir. Bu, raw_input()
'un geçmişi desteklediğinden (yalnızca readline
modülü yüklüyse) ve diğer yararlı bitlerden dolayı yapılır. Tek sorun raw_input()
bir senaryoyu varsa bu yüzden, yönlendirmeyi desteklemediği şudur: sıkışmış olacak o çıkış yönlendirme ile çalıştırırsanız,
#!/usr/bin/python
name=raw_input("Enter your name: ")
ve
> python test.py
Enter your name: Alex
çalıştırmak ama
Bu tam olarak PDB'nin kullandığı ve neden sıkıştığı gibi. Ben belirtildiği gibi sys.stdin.readline()
yeniden yönlendirmeyi destekler ve yukarıdaki komut dosyasını readline()
kullanarak yeniden yazmanız gerekir.
Geri orijinal konuya yapmanız gereken tüm raw_input()
kullanmamayı Cmd söylemektir:
Cmd.use_rawinput = 0
veya
pdb = pdb.Pdb()
pdb.use_rawinput=0
pdb.set_trace()