2016-03-29 15 views
1

Geçerli klasörde iki komut dosyası var. scriptMain.py'dan scriptChild.py'u arıyorum. scriptMain.py'da zaten numpy aktardım. Bununla birlikte,yaparak scriptChild.py'u çağırsam bile yine de çocuk komut dosyasında numpy içe aktarmak için bana ihtiyaç duyuyor.Çocuk komut dosyasında yeniden düzenleme modülleri

Bu varsayılan davranış python veya numaralı yordamda, altyazılı komut dosyası tarafından içe aktarılan tüm modülleri tanımanın bir yolu var mı?

Eğer editörüm olarak python 3.5.1 ve spyder kullanıyorum.

edit1:

ayrıca scriptChild.py I a=1 buna sahip olduğunu varsayalım. Ebeveyn tarafından erişilebilir olan a değişkenine ihtiyacım var. Bunu yaptığımdan nasıl emin olurum. Herhangi bir şans olmadan

'u denedim.

düzenlemek 2:

Bulunan çözüm buraya 1 düzenlemek için: Importing a variable from one python script to another

cevap

1

bahsettiğin nasıl ithal ile akla gelen dil ++ C'dir. Python, #include yönergesini kullandığınızda C++ gibi çalışmıyor. #include yönergesi, derleyiciye, geçerli kaynak dosyada belirttiğiniz her dosyanın kaynak kodunu eklemesini söyler. Bu yüzden ailenin kapanışlarını alabilirsin. Derleyici aslında sizin için kaynak olarak dışarı çıkarır. Bu yüzden şunu da eklemeliyim ki, muhafızları gerekli kılmak için gereklidir (çifte içerme, isimlendirme çakışmalarına neden olacaktır).

Python'daki import bildirimi, bir modül için bir başvuru oluşturur (kaynakta yerini alamaz). Bu referanslar sadece bir modülün "genel" bölümlerine erişmenizi sağlar ve sizin için otomatik olarak diğer ithalatı almaz. Sadece doğal olarak iyi veya kötü olan import ifadesinin semantiği. Etrafında bir yol olmadığını söylemiyorum, ama bu kesinlikle amaçlanan ve varsayılan davranış.

fazla bilgi hakkında import/from için #include yönergesi hakkında daha fazla bilgi için here ve here bakınız.

İlgili konular