ฉันมีข้อผิดพลาดดังกล่าวข้างต้นใน s1="some very long string............"
ไม่มีใครรู้ว่าฉันกำลังทำอะไรผิดหรือเปล่า?
ฉันมีข้อผิดพลาดดังกล่าวข้างต้นใน s1="some very long string............"
ไม่มีใครรู้ว่าฉันกำลังทำอะไรผิดหรือเปล่า?
คำตอบ:
คุณไม่ได้ใส่"
ก่อนจบบรรทัด
ใช้"""
หากคุณต้องการทำสิ่งนี้:
""" a very long string ......
....that can span multiple lines
"""
ฉันมีปัญหานี้ - ในที่สุดฉันก็คิดออกว่าเหตุผลที่ฉันใส่\
ตัวละครในสตริง หากคุณมีสิ่งเหล่านี้ "หลบหนี" พวกเขาด้วย\\
และควรจะทำงานได้
r
หน้าสตริงเพื่อหลีกเลี่ยงการทำให้เกิดปัญหา
(สมมติว่าคุณไม่มี / ต้องการให้ตัวแบ่งบรรทัดในสตริงของคุณ ... )
สายนี้ยาวเท่าไหร่จริงๆ?
ฉันสงสัยว่ามีการ จำกัด ระยะเวลาที่บรรทัดที่อ่านจากไฟล์หรือจาก commandline สามารถทำได้และเนื่องจากจุดสิ้นสุดของบรรทัดถูกตัดออกจาก parser จะเห็นสิ่งที่ต้องการs1="some very long string..........
(ไม่สิ้นสุด"
) และทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์?
คุณสามารถแบ่งบรรทัดที่ยาวเป็นหลายบรรทัดโดยการหลีกเลี่ยงการกระจายบรรทัดในแหล่งที่มาของคุณเช่นนี้:
s1="some very long string.....\
...\
...."
ในสถานการณ์ของฉันฉันมี\r\n
ในพจนานุกรมสตริงที่ยกมาเดี่ยวของฉัน ฉันแทนที่อินสแตนซ์ทั้งหมด\r
ด้วย\\r
และ\n
ด้วย\\n
และมันแก้ไขปัญหาของฉันได้อย่างถูกต้องส่งคืนตัวแบ่งบรรทัดที่หลบหนีอย่างถูกต้องในคำสั่ง eval'ed
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
ฉันต้องเผชิญกับปัญหาที่คล้ายกัน ฉันมีสตริงที่มีเส้นทางไปยังโฟลเดอร์ใน Windows เช่นC:\Users\
ปัญหาคือว่า\
เป็นตัวหนีและอื่น ๆ \
เพื่อใช้ในสตริงคุณจะต้องเพิ่มอีกหนึ่ง
ไม่ถูกต้อง: C:\Users\
แก้ไข: C:\\\Users\\\
ฉันก็มีปัญหานี้เช่นกันแม้ว่าจะมีคำตอบอยู่ที่นี่ฉันก็อยากจะชี้ประเด็นนี้ให้ชัดเจนหลังจากที่
/
ไม่ควรมีช่องว่างเปล่าด้วยตระหนักถึงมัน
ฉันยังมีข้อความแสดงข้อผิดพลาดที่แน่นอนสำหรับฉันปัญหาได้รับการแก้ไขโดยการเพิ่ม "\"
ปรากฎว่าสตริงยาวของฉันแบ่งออกเป็นแปดบรรทัดด้วย "\" ที่ส่วนท้ายสุดขาด "\" ในหนึ่งบรรทัด
งูหลามว่างไม่ได้ระบุหมายเลขบรรทัดที่ข้อผิดพลาดนี้อยู่บน แต่มันสีแดงเน้นสั่งการกำหนดตัวแปรที่ถูกต้องทั้งหมดโยนฉันลง คำสั่งสตริง misshapen ที่แท้จริง (ยาวหลายบรรทัดด้วย "\") อยู่ติดกับคำสั่งที่ถูกเน้น บางทีนี่อาจช่วยคนอื่นได้
ในกรณีของฉันฉันใช้ Windows ดังนั้นฉันต้องใช้เครื่องหมายคำพูดคู่แทนคำเดียว
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
ฉันได้รับข้อผิดพลาดนี้ในฟังก์ชั่น postgresql ฉันมี SQL ที่ยาวซึ่งแบ่งออกเป็นหลายบรรทัดด้วย \ เพื่อให้อ่านง่ายขึ้น อย่างไรก็ตามนั่นเป็นปัญหา ฉันลบทั้งหมดและทำให้เป็นหนึ่งบรรทัดเพื่อแก้ไขปัญหา ฉันใช้ pgadmin III
ในกรณีของฉันกับ Mac OS X ฉันมีคำสั่งต่อไปนี้:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
ฉันได้รับข้อผิดพลาด:
File "<stdin>", line 1
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
^
SyntaxError: EOL while scanning string literal
หลังจากฉันเปลี่ยนเป็น:
model.export_srcpkg(platform, toolchain, "mymodel_pkg.zip", "mymodel.dylib")
มันทำงานได้ ...
เดวิด
คุณสามารถลองสิ่งนี้:
s = r'long\annoying\path'
s = r'long\annoying\path\\'
ได้
คุณvariable(s1)
มีหลายบรรทัด ในการดำเนินการนี้ (เช่นคุณต้องการให้สตริงของคุณครอบคลุมหลายบรรทัด) คุณต้องใช้เครื่องหมายคำพูดสามคำ ("" ")
s1="""some very long
string............"""
ในกรณีนี้ใบเสนอราคาเดียวสามใบหรือใบเสนอราคาสองใบทั้งคู่จะใช้งานได้! ตัวอย่างเช่น:
"""Parameters:
...Type something.....
.....finishing statement"""
หรือ
'''Parameters:
...Type something.....
.....finishing statement'''
คำตอบก่อนหน้าส่วนใหญ่นั้นถูกต้องและคำตอบของฉันคล้ายกับ aaronasterling คุณสามารถทำใบเสนอราคาเดียว 3 รายการ s1 = '' 'สตริงที่ยาวมากบาง ............ ' ''
ฉันประสบปัญหาเดียวกันขณะเข้าถึงไดเรกทอรีฮาร์ดไดรฟ์ จากนั้นฉันก็แก้มันด้วยวิธีนี้
import os
os.startfile("D:\folder_name\file_name") #running shortcut
os.startfile("F:") #accessing directory
ภาพด้านบนแสดงข้อผิดพลาดและแก้ไขผลลัพธ์