Saya memiliki kesalahan yang disebutkan di atas pada s1="some very long string............"
Adakah yang tahu apa yang saya lakukan salah?
python
string
string-literals
l --''''''---------------- '' '' '' '' '' ''
sumber
sumber
Jawaban:
Anda tidak meletakkan
"
sebelum akhir baris.Gunakan
"""
jika Anda ingin melakukan ini:sumber
Saya memiliki masalah ini - saya akhirnya menemukan bahwa alasannya adalah karena saya memasukkan
\
karakter dalam string. Jika Anda memiliki semua ini, "lepas" mereka\\
dan itu akan berfungsi dengan baik.sumber
r
sebelum string untuk menghindari mereka menyebabkan masalah.(Dengan asumsi Anda tidak memiliki / ingin jeda baris dalam string Anda ...)
Berapa lama sebenarnya string ini?
Saya menduga ada batas berapa lama baris membaca dari file atau dari commandline bisa, dan karena akhir baris akan memotong parser melihat sesuatu seperti
s1="some very long string..........
(tanpa akhir"
) dan dengan demikian melempar kesalahan parsing?Anda dapat membagi garis panjang menjadi beberapa baris dengan keluar dari linebreak di sumber Anda seperti ini:
sumber
Dalam situasi saya,
\r\n
saya menggunakan string kamus tunggal yang dikutip. Saya mengganti semua contoh\r
dengan\\r
dan\n
dengan\\n
dan itu memperbaiki masalah saya, dengan benar mengembalikan jeda baris yang lolos dalam dikte yang dievaluasi.sumber
Saya menghadapi masalah yang sama. Saya punya string yang berisi path ke folder di Windows misalnya
C:\Users\
. Masalahnya adalah bahwa itu\
adalah karakter melarikan diri dan untuk menggunakannya dalam string Anda perlu menambahkan satu lagi\
.Salah:
C:\Users\
Benar:
C:\\\Users\\\
sumber
Saya juga punya masalah ini, meskipun ada jawaban di sini saya ingin poin penting untuk ini setelah
/
tidak boleh ada ruang kosong. Berhati-hatilahsumber
Saya juga memiliki pesan kesalahan ini, bagi saya masalahnya telah diperbaiki dengan menambahkan "\"
Ternyata string panjang saya, dipecah menjadi sekitar delapan baris dengan "\" di bagian paling akhir, kehilangan "\" pada satu baris.
Python IDLE tidak menentukan nomor baris di mana kesalahan ini terjadi, tetapi menyoroti merah pernyataan penugasan variabel yang benar-benar benar, membuat saya marah. Pernyataan string salah bentuk (beberapa baris panjang dengan "\") berdekatan dengan pernyataan yang sedang disorot. Mungkin ini akan membantu orang lain.
sumber
Dalam kasus saya, saya menggunakan Windows jadi saya harus menggunakan tanda kutip ganda bukan tunggal.
sumber
Saya mendapatkan kesalahan ini dalam fungsi postgresql. Saya punya SQL panjang yang saya pecah menjadi beberapa baris dengan \ untuk keterbacaan yang lebih baik. Namun, itulah masalahnya. Saya menghapus semua dan membuatnya dalam satu baris untuk memperbaiki masalah ini. Saya menggunakan pgadmin III.
sumber
Dalam kasus saya dengan Mac OS X, saya memiliki pernyataan berikut:
Saya mendapatkan kesalahan:
Setelah saya ganti ke:
Berhasil ...
David
sumber
Anda dapat mencoba ini:
sumber
s = r'long\annoying\path\\'
.variable(s1)
Rentang Anda beberapa baris. Untuk melakukan ini (yaitu Anda ingin string Anda span beberapa baris), Anda harus menggunakan tanda kutip tiga ("" ").sumber
Dalam hal ini, tiga kutipan tunggal atau tiga kutipan ganda keduanya akan berfungsi! Sebagai contoh:
ATAU
sumber
Sebagian besar jawaban sebelumnya benar dan jawaban saya sangat mirip dengan aaronasterling, Anda juga bisa melakukan 3 kutipan tunggal s1 = '' 'beberapa string yang sangat panjang ............' ''
sumber
Saya telah menghadapi masalah yang sama saat mengakses direktori hard drive. Lalu saya memecahkannya dengan cara ini.
Gambar di atas menunjukkan kesalahan dan output yang diselesaikan.
sumber