2009-08-03 29 views
21

os.write fonksiyonu (nesneyi dosyalayamadıysanız) bir dosya tanımlayıcı içine bayt yazıyor kullanılabilir. Ben os.write(fd, '\n') çalıştırırsak, sadece LF karakteri bile Windows üzerinde, dosyaya yazılacak. Windows'ta CRLF'ye ve sadece Linux'ta LF'ye sahip olmak isterim.
Bunu başarmanın en iyi yolu nedir?Python'da bir dosya tanıtıcısına yerel yeni satır karakteri nasıl yazılır?

Python 2.6 kullanıyorum, ancak Python 3 farklı çözüm varsa ben de merak ediyorum.

+0

'os.write', ilk argümanı olarak FD'ye ihtiyaç duyar - pls bu soruyu düzeltin! Ve hayır, Python 3 esasen farklı değildir (bytestrings değil metin istiyor hariç - her zaman Python 3 Unicode - os.whatever çağrılarında). –

+0

Haklısınız, teşekkürler! – hcs42

cevap

46

bunu kullanın

import os 
os.write(fd, os.linesep) 
8

ne dersiniz os.write(<file descriptor>, os.linesep)? (import os gereksizdir, çünkü onu zaten almış gibi görünüyorsunuz, aksi halde başlamak için os.write'u kullanarak hatalar elde edersiniz.)

İlgili konular