Saya memiliki kesalahan yang disebutkan di atas pada s1="some very long string............"
Adakah yang tahu apa yang saya lakukan salah?
Saya memiliki kesalahan yang disebutkan di atas pada s1="some very long string............"
Adakah yang tahu apa yang saya lakukan salah?
Jawaban:
Anda tidak meletakkan "
sebelum akhir baris.
Gunakan """
jika Anda ingin melakukan ini:
""" a very long string ......
....that can span multiple lines
"""
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.
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:
s1="some very long string.....\
...\
...."
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.
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
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\\\
Saya juga punya masalah ini, meskipun ada jawaban di sini saya ingin poin penting untuk ini setelah
/
tidak boleh ada ruang kosong. Berhati-hatilah
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.
Dalam kasus saya, saya menggunakan Windows jadi saya harus menggunakan tanda kutip ganda bukan tunggal.
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
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.
Dalam kasus saya dengan Mac OS X, saya memiliki pernyataan berikut:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
Saya mendapatkan kesalahan:
File "<stdin>", line 1
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
^
SyntaxError: EOL while scanning string literal
Setelah saya ganti ke:
model.export_srcpkg(platform, toolchain, "mymodel_pkg.zip", "mymodel.dylib")
Berhasil ...
David
variable(s1)
Rentang Anda beberapa baris. Untuk melakukan ini (yaitu Anda ingin string Anda span beberapa baris), Anda harus menggunakan tanda kutip tiga ("" ").
s1="""some very long
string............"""
Saya telah menghadapi masalah yang sama saat mengakses direktori hard drive. Lalu saya memecahkannya dengan cara ini.
import os
os.startfile("D:\folder_name\file_name") #running shortcut
os.startfile("F:") #accessing directory
Gambar di atas menunjukkan kesalahan dan output yang diselesaikan.