Python 2.6'daki temp
dizinine giden yolu almanın bir çapraz platform yolu var mı? Örneğin, Linux altında /tmp
, XP C:\Documents and settings\[user]\Application settings\Temp
altında olur.Python'da geçici dizin alma çapraz platform yolu
cevap
tempfile modülü bu olurdu.
Geçici dizini almak için işlevleri vardır ve ayrıca adında veya adında adında geçici dosyalar ve dizinler oluşturmak için bazı kısayollar vardır.
Örnek: Bu belgelere göre, geçici dizine arar nasıl
import tempfile
print tempfile.gettempdir() # prints the current temporary directory
f = tempfile.TemporaryFile()
f.write('something on temporaryfile')
f.seek(0) # return to beginning of file
print f.read() # reads data back from the file
f.close() # temporary file is automatically deleted here
tamlığı, aşağıda bir:
TMPDIR
ortam değişkeni tarafından adlı dizin.TEMP
ortam değişkeni tarafından adlandırılmış dizin.TMP
ortam değişkeni tarafından adlandırılmış dizin.- bir platforma özel konumu:
- RiscOS,
Wimp$ScrapDir
ortam değişkeni tarafından adlı dizin günü.
bu sırayla, Windows, dizinlere
- Diğer tüm platformlarda, bu sırayla
/tmp
,/var/tmp
ve/usr/tmp
dizinleri.
C:\TEMP
,C:\TMP
,\TEMP
ve\TMP
, günü. - RiscOS,
- Son çare olarak, geçerli çalışma dizini.
Benim için OSX,/var/folders/<çöp/burada> ''/tmp' yerine '$ TMPDIR' ayarlandığı için. Bkz. [Burada] (http://apple.stackexchange.com/questions/3949/how-do-i-find-out-the-system-temporary-directory). –
İstediğin yapmalıyım: Benim için
print tempfile.gettempdir()
benim, Windows kutuyu, alıyorum:
c:\temp
ve Linux makinemde
alıyorum:/tmp
@ nosklo'nun answer numaralı telefonundan önemli bir parçayı almak ve yarı özel ekleyerek sandbox dir: ile
import os
from tempfile import gettempdir
tmp = os.path.join(gettempdir(), '.{}'.format(hash(os.times())))
os.makedirs(tmp)
işiniz bittiğinde kolayca kendinize temizlemek Bu şekilde (gizlilik, kaynaklar, güvenlik için, her neyse):
from shutil import rmtree
rmtree(tmp, ignore_errors=True)
Bu Google gibi neyi uygulamalara benzer Chrome ve Linux systemd
yapmak. Sadece onların varlığını "tanıtmak" için daha kısa bir hex hash ve uygulamaya özel bir önek kullanıyorlar.
kullanmak:
import platform
import tempfile
tempdir = '/tmp' if platform.system() == 'Darwin' else tempfile.gettempdir()
Bu, MacOS, yani Darwin, tempfile.gettempdir()
üzerinde ve '/var/folders/nj/269977hs0_96bttwj2gs_jhhp48z54/T'
gibi bir değer iade os.getenv('TMPDIR')
; istemediğim bir şey!
- 1. SBT: Çapraz platform yolu java.library.path?
- 2. golang: çapraz platform yolu.Dir
- 3. İşlemci/Bellek kullanımı için Çapraz Platform yolu
- 4. Çapraz platform dosya yolu oluşturma ve gösterimi
- 5. GLKit ile çapraz platform geliştirme?
- 6. çapraz platform usb modülü?
- 7. Yıldız çapraz platform derlemesi
- 8. Çapraz Platform Günlüğü
- 9. Çapraz platform kazıcı-raportörleri
- 10. dropzone çapraz platform üzerlerine nesil
- 11. Atomik dosya yazma işlemleri (çapraz platform)
- 12. Lua'nın çapraz platform C# uygulaması
- 13. Hafif, çapraz platform giriş kitaplığı
- 14. Python'da bir ses dosyasını çalmanın çapraz platform yolu nedir?
- 15. Java süreci önceliğini değiştirmek için çapraz platform yolu
- 16. jQuery 1.4 kullanarak ses yürütmek için çapraz platform, çapraz tarayıcı yolu?
- 17. Haskell'de geçici bir dizin oluşturun
- 18. Build Maven Tycho ile çapraz tutturma çapraz platform
- 19. Çapraz Platform C++ Dinamik Kitaplık Eklentisi Yükleyicisi
- 20. SWIG ile çapraz platform arabirimi nasıl oluşturulur?
- 21. Xamarin Studio çapraz platform uygulama hatası
- 22. Çapraz platform NPM başlangıç komut dosyası
- 23. Java'da RSA Şifreleme: Çapraz Platform Sorunları?
- 24. Minimal, Bağımsız, Dağıtılabilir, çapraz platform web sunucusu
- 25. iOS ve OSX Döküman Paketleri çapraz platform
- 26. Çapraz Platform MIDI kütüphanesi iOS CoreMIDI
- 27. Karıncada geçici dizin nasıl oluşturulur?
- 28. Salt okunur Salt okunur python3-tkinter; çapraz platform
- 29. Kısmi Dizin veya filtrelenmiş dizin için mysql içinde geçici çözüm?
- 30. Tomcat geçici dizin konumu nasıl tanımlanır?
http://docs.python.org/library/tempfile.html adresindeki tempfile modülüne bakın. –
bir pythonist değil, ama geçici dosyalar/dizinler oluşturmak için [bu] (http://docs.python.org/library/tempfile.html#tempfile.mkdtemp) yöntemlerini kullanmalısınız – skrat