Python

2016-03-23 15 views
0
yılında argv kullanan sadece bu kodu, raw_input(), f.write() nasıl yapılır

What I Want:Python

  • yazma hatları kod basitçe
  • dosyaya
  • Bu takdirde Tamam

    from sys import argv 
    
    script, file_name = argv 
    
    target = open(file_name, 'w') 
    
    while True: 
        line = raw_input() 
        target.write(line) 
        target.write("\n") 
        if line.strip() == '': 
         break 
    
: kod argv ya da bazı diğerlerini İşte

benim kod olup gerek yok

Bu konuda iki soru buldum, ancak Python ile yeni bir öğreniciyim ve mantığı bu soruların cevaplarından nasıl birleştireceğimi bilmiyorum.

Raw input across multiple lines

write multiple lines in a file

Umut Ben clearly.Thanks ifade etmektedir.

+0

kodu çalıştıran denediniz mi? Çalışıyor mu? Ne sorduğundan emin değilim. –

+0

Dosyada çıktı almıyor musunuz? Dosyanı doğru mu kapatıyorsun? – denis

+0

Dosyaya çizgiler yazabilir, ancak dosyayı kapatma hakkında emin değilim. –

cevap

1

Kodunuz çalışacaktır ancak writelines kullanmak istiyorum ve her iki linkedquestions den iter mantık varsa, iter(raw_input,"") ile döngü için kullanabileceğiniz olacak boş bir dize kadar döngü:

from sys import argv 
script, file_name = argv 

with open(file_name, 'w') as f: 
    f.writelines(line+"\n" for line in iter(raw_input,"")) 

iter(raw_input,"") bağlantı sonsuz bir döngüye girer, kullanıcı yalnızca geri dönüşe gelene kadar girdiyi sormaya devam eder, file.writelines, bizden hangisini geçtiğimizi yazmak için bir dizi dizge alır. generator expression bir şarkı söyle.

yeniden iter(raw_input, "") üzerinde file.write, sadece döngü kullanmak ve döngüde yazmak için olsaydı:

with open(file_name, 'w') as f: 
    for line in iter(raw_input, ""): 
     f.write(line+"\n") 
-1

Sadece yazmak istiyorsanız bu kodun düzgün olması gerekir. Bu kod, kullanıcı adından dosya adını alır ve daha sonra verileri dosya satırına yazar. Kullanıcı tarafından girilen veri yokken yürütme durur.

file_name = raw_input("Enter the file name") 
target = open(file_name, 'w') 
while True: 
    line = raw_input("enter data") 
    target.write(line) 
    target.write("\n") 
    if line.strip() == '': 
     break 
target.close()