ดูเหมือนว่าพวกเขายกเลิกใน 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