Hem okumak hem de yazmak için bir dosya açmanın bir yolu var mı? Bunun için "r +" olduğunu düşündüm.
İkili dosyalar üzerinde çalıştığım için "r + b" modunu denedim, ancak dosyanın okumaya açık olmadığına dair bir hata alıyorum. Aynı anda okuma ve yazma için standart mod olanHem okuma hem de yazma için açık dosya?
cevap
r+
. Bu, file()
/open()
bu işletim sistemi çağrısı etrafındaki küçük bir sarıcı olduğundan, bu fopen()
sistem çağrısı kullanmaktan farklı değildir.
Böyle bir şey denedim ve beklendiği gibi çalışır:
f = open("c:\\log.log", 'r+b')
f.write("\x5F\x9D\x3E")
f.read(100)
f.close()
:
f.read (boyut) - bir dosyanın içeriğini okumak için f.read (boyut çağrı), , bir miktar veri okuyor ve bir dizge olarak döndürüyor.
Ve:
f.write (string) None geri döndürür dosyaya dize yazar.
Ayrıca Python tutorial about reading and writing files açarsanız göreceksiniz:
'r +' okuma ve yazma için dosyayı açar.
Windows'ta, 'b' moduna eklenen dosya ikili modda açılır, yani da 'rb', 'wb' ve 'r + b' gibi modlar da vardır. Eğer bir dosyayı okumak ve sonra (herhangi bir mevcut verilerin üzerine yazarak) buna yazma nasıl İşte
Ayrıca okuma ve yazma 'r + b' modunu kullanarak eşit derecede iyi çalışır, ancak f.read() ve f.write() arasında f.seek (0) 'ı kullanmak zorundasınız. . – gaborous
Yazmakta olduğunuz verilerin oradaki verilerden daha uzun olmaması durumunda, kesilmeyeceğini unutmayın. Bunu durdurmak için 'truncate' yöntemini kullanın. – Flimm
kapatıp yeniden açtıktan olmadan var:
with open(filename, "r+") as f:
data = f.read()
f.seek(0)
f.write(output)
f.truncate()
, dosyanın varolmadığı (bu durumda oluşturulacak) son durumun üstünü örtmek için 'a +' komutunu kullanın. –
seek() ve truncate() her ikisi de kritik! – smwikipedia
Bunun, metin eklemek için işe yaramadığını unutmayın. – multigoodverse
- 1. Python, hem dosya hem de terminal için çıkış nasıl gönderilir
- 2. Hem x86 hem de x64 için derleme
- 3. Hem iOS hem de Mac OS'de çalışan yazma sınıfları
- 4. Hem $ _GET hem de $ _POST
- 5. JPA: Hem QueryCriteria'da hem de
- 6. NSLog() hem konsol hem de dosyaya
- 7. Hem jquery.js hem de scriptaculous.js dosyalarını kullanın?
- 8. Hem Cassandra (NoSQL) hem de mysql (RDBMS)
- 9. Dosya tanıtıcısı ile hem doğrudan hem de soket ve dosyalardan doğrudan doğruya okunabilir ve okunabilir mi?
- 10. Hem .aspx hem de .cs dosyalarını dağıtın
- 11. Hem istemci hem de sunucuyu ana
- 12. iOS'ta hem mobil safari hem de uygulama için Benzersiz Tanımlayıcı
- 13. Hem iPhone hem de Android için uygulama geliştirme
- 14. Hem jpg hem de png için meta verileri yaz
- 15. InternalResourceViewResolver birlikte hem jsp hem de html'yi çözmek için
- 16. Hem 320x480 hem de 480x854 için uygulama nasıl geliştirilir?
- 17. Aşırı yükleme * operatörü hem sağ hem de solda çalışmak için
- 18. Hem DB2 hem de Oracle için java'yı kullanarak BLOB'u ekleyin
- 19. Hem ASP.NET MVC hem de tarayıcı için HTML templating çözümü?
- 20. Hem Powermock hem de JMockit ünite testleri için test kapsamı
- 21. Metin dosyasından hem char hem de satır tarafından okunabilir
- 22. Açık kurucu kullanırsam, anahtar kelimeyi hem .h hem de .cpp dosyalarına koymam gerekir mi?
- 23. Yinelenen bir Redis kümesinde hem ana hem de bağımlı için bağlantı
- 24. Kurucu hem hareket hem de kopya oluşturulduğunda, hangisi çağrılacak?
- 25. Urllib2 ile Python'da hem cookieler hem de proxy kullanarak
- 26. RPM paketinin hem sürüm hem de normal versiyonunu oluşturma
- 27. Hem istemcide hem de Node.js sunucusunda çalışan JavaScript doğrulaması?
- 28. Eş zamanlı olarak hem arka hem de ön kameralara erişme
- 29. Hem belirli hem de genel Python istisnalarını işleme?
- 30. Gemfile.lock'u hem windows hem de linux ortamında paylaşma
Eğer çözme ne gibi sorunlar? belki de bir dosyayı yazmak/okumaktan daha iyi bir çözüm var, ör. mmap –
Bize kodunuzu verebilir misiniz, böylece size cevap verebiliriz. Bir göz atmaya da çalışabilirsiniz: http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files. Ancak r + b kullanmaya çalıştım ve işe yarıyor. Ayrıca, farklı fonksiyonlarda bir dosya tanımlayıcısının kullanılması için herhangi bir fayda var mı? –