2012-01-28 24 views
8

Ham_input yoluyla girilen verilerdeki yeni satır karakterlerini yok saymanın bir yolu var mı? Bir elektronik tablodan kopyalanan ve yapıştırılan dizelerin bir listesini girmek için raw_input kullanmaya çalışıyorum. Sorun, yeni satır karakterlerinin verinin erken girilmesine neden olduğu anlaşılıyor. Tüm boş alanlar yine de sıyrılacak, böylece veri girilirken yeni satırların kaldırılması ek bir avantaj olacaktır. Bu verilerin doğrudan terminal isteminden girilmesi ve bir dosyadan okunmaması gerekir.Python raw_input yeni satırı yoksay

names = raw_input('Shoot me some names partner: ') 

print 'What do you want to do?' 
print '1 - format names for program 1' 
print '2 - format names for program 2' 

first_act = raw_input('Enter choice: ') 

print names 
print first_act 

Şimdi ben bir google doc elektronik tabloya koymak kukla isimler sınamak için bu ve giriş çalıştırdığınızda, en kısa zamanda shift + ctl + v vurmak gibidir:

Bu

şimdiye kadar yapmış budur

[email protected]:~> python pythonproj/names.py 
Shoot me some names partner: abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnopWhat do you want to do? 
1 - format names for program 1 
2 - format names for program 2 
Enter choice: abcd,efg,hijkl,mnop 
abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 
If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: 
cnf abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 
If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: 
cnf abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 
If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: 
cnf abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 
If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: 
cnf abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 
If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: 
cnf abcd,efg,hijkl,mnop 
[email protected]:~> abcd,efg,hijkl,mnop 

python için oldukça yeni değilim ve arayla en deneyimli programcı değilim: girin vurmadan ben bu olsun. Bu python 2.7.

cevap

1

Sormaya çalıştığınızdan emin değilim, ancak raw_input() öğesini kullandığınızda, sondaki yeni bir satırı çizer.

Ve doktor da aynı şeyi söylüyor.

İstem bağımsız değişkeni mevcutsa, numaralı standart çıktıya yeni bir satır eklenmeden yazılır. İşlev daha sonra girişten bir satır okur, bir dizeye dönüştürür (sondaki bir satırsonu soyar) ve döndürür. EOF okunduğunda, EOFError yükseltilir. Sadece girişten bir satır alır

7

raw_input Çünkü bir döngü oluşturmak gerekir:

names = [] 
print('Shoot me some names partner: ') 
while True: 
    try: 
     name = raw_input() 
    except KeyboardInterrupt: 
     break 
    names.append(name) 

print('What do you want to do?') 
print('1 - format names for program 1') 
print('2 - format names for program 2') 

first_act = raw_input('Enter choice: ') 

print(names) 
print(first_act) 

test çalışması:

Shoot me some names partner: 
name1 
name2 
^CWhat do you want to do? 
1 - format names for program 1 
2 - format names for program 2 
Enter choice: 1 
['name1', 'name2'] 
1 

Not I ^C (Ctrl-C) kullandım burada girişin sonunu belirtmek için

+0

Merhaba, python'a girişimi bitirdiğimi nasıl söylemeliyim? Ben denedim, ama işe yaramadı. –

İlgili konular