`İthalat işletim sistemi kullanmalıyım.yolu` veya `ithal os`?
official documentation, os.path
göre bir modül. , Alma tercih edilen yolu nedir böyle?
# Should I always import it explicitly?
import os.path
Ya da...
# Is importing os enough?
import os
Lütfen cevap verme "benim için os
works alma". Benim için de şu an (Python 2.6 olarak) çalışır. Öğrenmek istediğim bu konu hakkında herhangi bir resmi öneri. Eğer bu soruya cevap verirseniz, lütfenbaşvurularınızı gönderin.
CEVAP
os.path
komik bir şekilde çalışır. os
bir submodule path
ile bir paket olması gerektiği gibi görünüyor ama gerçekte os
sys.modules
büyü os.path
enjekte ediyor bu normal bir modül. Ne olacağını burada
Python başladığında,
sys.modules
yükler modülleri bir demet. Komut herhangi bir isim bağlı değil, ama bir şekilde onları alırken zaten oluşturulan modülleri erişebilirsiniz.sys.modules
hangi modülleri önbelleğe alınan bir dict. Bir modülü aldığınızda, Eğer önceden bir yerlerde alınmış, örneksys.modules
içinde saklı olur.
os
Python başlatıldığında yüklenen modüller arasında yer alıyor. Os-belirli bir yol modülüpath
vasfını atar.sys.modules['os.path'] = path
yapmak mümkün olduğunu "import os.path
bir submodule olmasına rağmen" gibi. yani enjekte eder
os.path
görmeye çalışırımkullanmak istediğim bir modülyerineos
modüle bir şeyolmasa bile , bu kadargerçektenbir paket bir submodule olarak adlandırılan os
ithal biri gibiBen her zaman import os.path
. Bu os.path
belgelenmiştir nasıl ile tutarlıdır.
Bu arada, yapısı bu tür bir Python programcıları' modüller ve paketler ve kod organizasyonu hakkında erken karışıklığı sanırım. bir sürü yol açar Bu gerçekten iki nedenden dolayı
Eğer sence
os
bir paket ve biliyorum yapabilirsinimport os
ve erişimi sağlamak için submoduleos.path
olabilir sürpriz daha sonra zaman yapamazsınimport twisted
ve otomatik olarak erişimtwisted.spread
olmadan alma.os.name
normal bir şey, bir dize olduğundan kafa karıştırıcı veos.path
bir modül. Ben aynı düzeyde hep şey bir tür olması her zaman__init__.py
boş dosyaları ile benim paketleri yapısı: modülü/paketi veya başka bir şeyler. Birkaç büyük Python projeleri daha iyi yapılandırılmış kod yapmak eğilimindedir bu yaklaşım, alır.
'tarihler ile çalışma standart yo...
Tabanlı uygulamalar Hızlı bir işletim ...
C# ta string kullanmalıyım.Boş ya da D...
Ne zaman bir form's opaklık ayarı...
Veya sabit ızgara sistemi ve duyarlı t...