ฉันจะโหลดไฟล์ลงในคอนโซล python ได้อย่างไร


208

ฉันมีโค้ดไพ ธ อนบางบรรทัดที่ฉันคัดลอก / วางอย่างต่อเนื่องในคอนโซลหลาม มีloadคำสั่งหรือสิ่งที่ฉันสามารถเรียกใช้? เช่นload file.py


15
import file. ไม่มี.pyส่วนขยาย
Mikel

1
เมื่อimport fileใช้fileจะไม่สามารถเข้าถึงตัวแปรใน
Kadir

5
จริงๆแล้วตัวแปรสามารถเข้าถึงได้ ลองfile.variableดู
Tim Ludwinski

คำตอบ:


197

สำหรับ Python 2 (ดูคำตอบอื่นสำหรับ Python 3) ลองทำดู:

execfile('file.py')

ตัวอย่างการใช้งาน:

C:\junk>copy con execfile_example.py
a = [9, 42, 888]
b = len(a)
^Z
        1 file(s) copied.

C:\junk>\python27\python
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> execfile('execfile_example.py')
>>> a
[9, 42, 888]
>>> b
3
>>>

1
คุณอธิบายการใช้ของcopy conคุณได้ไหม จากสิ่งที่ฉันกำลังอ่านจะใช้เพื่อคัดลอกไฟล์computerhope.com/copyhlp.htm
CodyBugstein

12
เขาคัดลอกจากคอนโซล (ถือว่าเป็นไฟล์) ไปยัง execfile_example.py ^ Z เป็นไฟล์สิ้นสุด มันเป็นวิธีที่จะทำให้ข้อความเป็นไฟล์โดยไม่ต้องเปิดโปรแกรมแก้ไข
IJ Kennedy

ดูคำตอบจาก @Arafangion หากคุณยังไม่ได้อยู่ในคอนโซล
Barry McNamara

166

จากหน้าคน:

-i เมื่อสคริปต์ถูกส่งเป็นอาร์กิวเมนต์แรกหรือใช้ตัวเลือก -c ให้เข้าสู่โหมดโต้ตอบหลังจากรันสคริปต์หรือคำสั่ง มันไม่ได้อ่านไฟล์ $ PYTHONSTARTUP สิ่งนี้มีประโยชน์ในการตรวจสอบตัวแปรโกลบอลหรือการติดตามสแต็กเมื่อสคริปต์ยกข้อยกเว้น

ดังนั้นควรทำสิ่งที่คุณต้องการ:

python -i file.py

7
นี่เป็นวิธีที่ดีถ้าคุณยังไม่ได้อยู่ในคอนโซล ขอบคุณสำหรับเคล็ดลับ Arafangion
SomeShinyObject

89

Python 3: exec ใหม่ (ลดลง execfile) !

โซลูชัน execfile นั้นถูกต้องสำหรับ Python 2 เท่านั้น Python 3 ลดฟังก์ชั่น execfile - และเลื่อนระดับคำสั่ง exec ไปยังฟังก์ชัน universal ที่มีอยู่ภายใน ในขณะที่ความคิดเห็นในการเปลี่ยนแปลงของ Python 3.0 และความคิดเห็น Hi-Angels แนะนำ:

ใช้

exec(open(<filename.py>).read())

แทน

execfile(<filename.py>)

หากไฟล์มีคำสั่งนำเข้าเช่นimport osจะexec()รันคำสั่งเหล่านั้นหรือไม่ ฉันกำลังลองสิ่งนี้อยู่ในขณะนี้และคำตอบดูเหมือนจะไม่ ...
Rylan Schaeffer

25

จากบรรทัดคำสั่งเชลล์:

python file.py

จากบรรทัดคำสั่ง Python

import file

หรือ

from file import *

8
และreload(file)เมื่อคุณเปลี่ยนบางสิ่งในนั้น
Santa

1
นั่นfrom file import *ไม่ใช่import * from file
ทุกอย่าง

1
ไฟล์นี้จำเป็นต้องเป็นผู้กำกับที่เฉพาะเจาะจงหรือไม่? ฉันลองกับเส้นทางที่เต็มและไม่ทำงาน
CodyBugstein

import directory.subdirectory.file
Seth

14

คุณสามารถใช้คำสั่งนำเข้า:

from file import *

ตัวอย่างเช่นหากคุณมีไฟล์ชื่อmy_script.pyคุณจะโหลดโดย:

from my_script import *


3

พร้อมรับคำสั่งเปิดในโฟลเดอร์ที่คุณนำเข้าไฟล์ เมื่อคุณพิมพ์ 'หลาม' เทอร์มินัลหลามจะเปิดขึ้น ตอนนี้คุณสามารถใช้

นำเข้า script_name
หมายเหตุ: ไม่มีนามสกุล. py ที่จะใช้ขณะนำเข้า
ฉันจะเปิดหน้าต่าง cmd ในตำแหน่งที่ต้องการได้อย่างไร


0

หากpathตัวแปรสภาพแวดล้อมของคุณมี Python (เช่นC:\Python27\) คุณสามารถเรียกใช้ไฟล์ py ของคุณได้จากบรรทัดคำสั่ง Windows (cmd) ถึงที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.