Score:0

ปัญหาการเข้ารหัสขณะเรียกใช้ python ผ่าน vim?

ธง kr

ฉันกำลังประสบปัญหาขณะดำเนินการ :!python3 % ในกลุ่ม

:!python3 test_glove.py
Traceback (การโทรครั้งล่าสุดล่าสุด):
  ไฟล์ "test_glove.py" บรรทัดที่ 13 ใน <โมดูล>
    สำหรับบรรทัดใน f.readlines():
  ไฟล์ "/usr/lib/python3.6/encodings/ascii.py", บรรทัดที่ 26 ในการถอดรหัส
    ส่งคืน codecs.ascii_decode (อินพุต, self.errors)[0]
UnicodeDecodeError: ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ 0xe2 ในตำแหน่ง 1387: ลำดับที่ไม่อยู่ในช่วง (128)

วิธีแก้ปัญหาง่ายๆ คือบอกตัวจัดการไฟล์โดยตรงว่าไฟล์ใดเข้ารหัสไฟล์ที่กำลังอ่านอยู่ ด้วย open(GLOVE_FILENAME, "r+", encoding="utf-8") เป็น f:.

แต่ถ้าคอมไพเลอร์ python3 ไม่จำเป็นต้องทำเช่นนั้น ทำไม vim ถึงต้องการให้ฉันทำ ทำไมวีมไม่ได้ !python3 ทำงานเหมือนกับที่ python3 ทำหรือไม่

สิ่งนี้บังคับให้ฉันกำหนดการเข้ารหัสของทุกไฟล์ที่ฉันกำลังอ่าน/เขียน หรือบันทึกและออกจาก vim เพื่อคอมไพล์และเรียกใช้ด้วย python บนพรอมต์ UNIX ซึ่งไม่มีปัญหา

มีวิธีแก้ไขสำหรับสิ่งนั้นหรือไม่? ของฉัน ~/.vimrc การเข้ารหัสถูกตั้งค่าเป็น utf-8 แล้ว

ตั้งค่าการเข้ารหัสไฟล์=ucs-bom,utf-8,latin1
ตั้งค่าการเข้ารหัส = utf-8

ใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหมว่าทำอะไรได้บ้าง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา