Python konsoluna nasıl dosya yüklerim?


208

Sürekli olarak python konsoluna kopyaladığım / yapıştırdığım bazı python kodu satırlarım var. loadÇalıştırabileceğim bir komut ya da bir şey var mı ? Örneğinload file.py


15
import file. .pyUzatma yok .
Mikel

1
Zaman import filekullanılır, değişkenler filekutu olup erişilebilir.
Kadir

5
Aslında, değişkene erişilebilir. Deneyin file.variable.
Tim Ludwinski

Yanıtlar:


197

Python 2 için (Python 3 için diğer cevaplara bakın) bunu deneyin:

execfile('file.py')

Örnek kullanım:

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
Kullanımınızı açıklayabilir misiniz copy con?
Okuduğum kadarıyla

12
Konsoldan (dosya olarak kabul edilir) execfile_example.py dosyasına kopyaladı. ^ Z dosyanın sonu. Bu, bir editörü açmadan bir dosyaya metin aktarmanın bir yoludur.
IJ Kennedy

Henüz konsolda değilseniz @Arafangion'ın cevabına bakın.
Barry McNamara

166

Man sayfasından:

-i Bir komut dosyası ilk bağımsız değişken olarak iletildiğinde veya -c seçeneği kullanıldığında, komut dosyasını veya komutu yürüttükten sonra etkileşimli moda girin. $ PYTHONSTARTUP dosyasını okumaz. Bu, bir komut dosyası bir istisna getirdiğinde genel değişkenleri veya yığın izlemesini incelemek için yararlı olabilir.

Yani bu istediğinizi yapmalı:

python -i file.py

7
Henüz konsolda değilseniz, bu harika bir yöntemdir. Arafangion
SomeShinyObject

89

Python 3: yeni exec (execfile düşürüldü) !

Execfile çözümü yalnızca Python 2 için geçerlidir. Python 3 execfile işlevini bıraktı ve exec deyimini yerleşik bir evrensel işleve yükseltti. Python 3.0'ın changelog ve Hi-Angels yorumlarındaki yorumun önerdiği gibi:

kullanım

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

onun yerine

execfile(<filename.py>)

dosya içe aktarma ifadeleri içeriyorsa import os, örneğin , exec()bu ifadeleri çalıştırır mı? Şu anda deniyorum ve cevap hayır gibi görünüyor ...
Rylan Schaeffer

25

Kabuk komut satırından:

python file.py

Python komut satırından

import file

veya

from file import *

8
Ve reload(file)içinde bir şey değiştirdiğinizde.
Noel Baba

1
Bu from file import *değilimport * from file
tür

1
Dosyanın belirli bir yönetmende olması gerekiyor mu? Tam yolu ile deniyorum ve çalışmıyor.
CodyBugstein

ithalat
Seth

14

Sadece bir içe aktarma ifadesi kullanabilirsiniz:

from file import *

Örneğin, adlı bir dosyanız varsa, dosyayı my_script.pyşu şekilde yüklersiniz:

from my_script import *



0

Senin Eğer pathortam değişkeni Python içerir (örn. C:\Python27\) Sadece Windows komut satırından (Cmd) adresinin py dosyasını çalıştırabilirsiniz. Buraya nasıl.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.