Dibandingkan dengan Java (dalam string), Anda akan melakukan sesuatu seperti "First Line\r\nSecond Line"
.
Jadi bagaimana Anda melakukannya dengan Python, untuk tujuan menulis beberapa baris ke file biasa?
python
line-breaks
file-writing
FabianCook
sumber
sumber
print
berfungsi sepertiSystem.out.println
di Jawa, dan secara otomatis menambahkan baris baru setelah teks, bukan?print
pernyataan dalam Python juga dapat digunakan untuk menulis ke file (rincian berbeda antara Python 2.x dan Python 3.x, jadi dengan dokumentasi referensi untuk versi Anda).print
dalam Python 2.x -print
dalam Python 3.xJawaban:
Itu tergantung pada seberapa benar Anda ingin menjadi.
\n
biasanya akan melakukan pekerjaan. Jika Anda benar-benar ingin melakukannya dengan benar, Anda mencari karakter baris baru dalamos
paket . (Sebenarnya disebutlinesep
.)Catatan: saat menulis ke file menggunakan API Python, jangan gunakan
os.linesep
. Cukup gunakan\n
; Python secara otomatis menerjemahkannya ke karakter baris baru yang sesuai untuk platform Anda.sumber
"\r\n"
. Ini artinyaos.linesep
akan"\r\n"
. Ketika Anda menulis ke file dalam mode teks, itu melakukan terjemahan baris baru saat menulis; yaitu, masing-masing"\n"
dalam output akan diterjemahkan ke"\r\n"
dalam file yang dihasilkan. Anda dapat melihat bagaimana ini menjadi masalah jika teks yang Anda tulis sudah mengandung"\r\n"
urutan: hasilnya akan berada"\r\r\n"
di akhir setiap baris. Saya berasumsi, setidaknya: Saya belum benar-benar mencobanya.os.linesep
proposal yang salah , bukan? Itu tidak akan menjadi drama besar dan kebanggaan penulis tidak akan terlalu menderita, saya percayalinesep
ada dan ada sehingga Anda dapat mengetahui apa pemisah garis sistem itu.linesep
masih bisa bermanfaat.Karakter baris baru adalah
\n
. Ini digunakan di dalam string.Contoh:
di mana
\n
karakter baris baru.Ini akan menghasilkan hasil:
Jika Anda menggunakan Python 2, Anda tidak menggunakan tanda kurung pada fungsi cetak.
sumber
Anda dapat menulis di baris baru secara terpisah atau dalam satu string, yang lebih mudah.
Contoh 1
Memasukkan
Anda dapat menulis '\ n' secara terpisah:
Keluaran
Contoh 2
Memasukkan
Seperti yang ditunjukkan orang lain di jawaban sebelumnya, tempatkan \ n pada poin yang relevan di string Anda:
Keluaran
sumber
Jika Anda memasukkan beberapa baris teks sekaligus, saya menemukan ini sebagai format yang paling mudah dibaca.
\ Pada akhir setiap baris lolos dari baris baru (yang akan menyebabkan kesalahan).
sumber
Dalam Python Anda bisa menggunakan karakter baris baru, yaitu
\n
sumber
Solusi paling sederhana
Jika Anda hanya menelepon
print
tanpa argumen, itu akan menghasilkan baris kosong.Anda dapat mem-pipe output ke file seperti ini (dengan mempertimbangkan contoh Anda):
Tidak hanya itu OS-agnostik (bahkan tanpa harus menggunakan
os
paket), itu juga lebih mudah dibaca daripada meletakkan\n
dalam string.Penjelasan
The
print()
fungsi memiliki kata kunci argumen opsional untuk akhir string, yang disebutend
, yang defaultnya karakter baris baru OS, untuk misalnya.\n
. Jadi, saat Anda meneleponprint('hello')
, Python sebenarnya sedang mencetak'hello' + '\n'
. Yang berarti bahwa ketika Anda meneleponprint
tanpa argumen, itu sebenarnya pencetakan'' + '\n'
, yang menghasilkan baris baru.Alternatif
Gunakan string multi-line.
sumber
Platform independent line breaker: Linux, windows & IOS
Keluaran:
sumber
Cara yang sama dengan
'\n'
, meskipun Anda mungkin tidak perlu'\r'
. Apakah ada alasan Anda memilikinya dalam versi Java Anda? Jika Anda membutuhkan / menginginkannya, Anda dapat menggunakannya dengan cara yang sama dengan Python juga.sumber
\r
adalah carriage return, ketika Anda mendapatkan properti sistem untuk saluran baru, ia muncul sebagai\r\n
\n
adalah satu-satunya karakter baris baru.\n
.\ n - penyisipan karakter baris baru yang sederhana berfungsi:
sumber
Sebagian besar karakter escape dalam string literal dari Jawa juga valid dalam Python, seperti "\ r" dan "\ n".
sumber
Seperti disebutkan dalam jawaban lain: "Karakter baris baru adalah \ n. Ini digunakan di dalam string".
Saya menemukan cara yang paling sederhana dan mudah dibaca adalah dengan menggunakan fungsi "format", menggunakan nl sebagai nama untuk baris baru, dan memecah string yang ingin Anda cetak ke format yang tepat Anda akan mencetaknya:
Itu akan menampilkan:
Dengan cara ini melakukan tugas, dan juga memberikan keterbacaan kode yang tinggi :)
sumber
\ n memisahkan garis-garis string. Dalam contoh berikut, saya terus menulis catatan dalam satu lingkaran. Setiap catatan dipisahkan oleh
\n
.sumber
Perlu dicatat bahwa ketika Anda memeriksa string menggunakan shell python interaktif atau notebook Jupyter,
\n
string backslashed lainnya seperti\t
yang diberikan secara harfiah :Baris baru, tab, dan karakter non-cetak khusus lainnya diberikan sebagai spasi ketika dicetak , atau ditulis ke file:
sumber