ดูเหมือนว่าพวกเขายกเลิกใน Python 3 วิธีง่าย ๆ ในการโหลดสคริปต์อย่างรวดเร็วโดยการลบ execfile()
มีทางเลือกที่ชัดเจนว่าฉันหายไปหรือไม่?
%run script_nameทำงานกับ Python ทุกเวอร์ชัน
impคือimportlib (ซึ่งจะต้องนำเข้า): การนำเข้าและการรันimportlib.reload(mod_name) mod_name
runfile()ตั้งแต่ฉันต้องการที่จะเรียกใช้สคริปต์ Python ที่รันใน namespace ของตัวเอง (เมื่อเทียบกับการดำเนินการในการเรียก namespace) ใบสมัครของฉัน: เพิ่มไดเรกทอรีของสคริปต์เรียกว่าไปเส้นทางของระบบ ( sys.path) โดยใช้__file__แอตทริบิวต์: ถ้าเราใช้execfile()หรือเทียบเท่าในหลาม 3 ( exec(open('file.py').read())) สคริปต์รวมมีการเรียกใช้ใน namespace โทรและจึง__file__แก้ไขไปเรียกชื่อไฟล์
reloadกลับมาเป็นimp.reloadตั้งแต่ 3.2