Touch Python kullanarak uygulamak?
touch
günün geçerli saati dosyaların erişim ve değiştirme zamanları ayarlayan bir Unıx programıdır. Eğer dosya mevcut değilse, varsayılan izinleri ile oluşturulur.
Nasıl bir Python fonksiyonu olarak uygulamak istiyorsunuz? Çapraz platform ve eksiksiz olmaya çalışın.
"Touch dosya python" bu harika, ama os.utime. işaret değildir) (geçerli Google sonuçları
CEVAP
Bu biraz daha fazla yarış-ücretsiz diğer çözümleri daha çalışır. (with
anahtar kelime Python yeni 2.5.)
import os
def touch(fname, times=None):
with open(fname, 'a'):
os.utime(fname, times)
Kabaca eşdeğer.
import os
def touch(fname, times=None):
fhandle = open(fname, 'a')
try:
os.utime(fname, times)
finally:
fhandle.close()
Şimdi, gerçekten yapmak yarış-ücretsiz, ihtiyacın için kullan futimes
ve değişim zaman açık filehandle, yerine dosya açma ve değiştirme zaman damgası adı (hangi olabilir adı). Ne yazık ki, Python ctypes
veya benzeri geçmeden futimes
aramak için bir yol sağlar gibi görünmüyor...
EDİT
Belirtildiği gibi Nate Parsons Python 3.3 olacak add specifying a file descriptor (os.supports_fd
) gibi işlevleri os.utime
, hangi kullanır futimes
sistem çağrısı yerine utimes
sistem çağrısı başlık altında. Diğer bir deyişle:
import os
def touch(fname, mode=0o666, dir_fd=None, **kwargs):
flags = os.O_CREAT | os.O_APPEND
with os.fdopen(os.open(fname, flags=flags, mode=mode, dir_fd=dir_fd)) as f:
os.utime(f.fileno() if os.utime in os.supports_fd else fname,
dir_fd=None if os.supports_fd else dir_fd, **kwargs)
Python kullanarak bir dosya var olup o...
Renkleri kullanarak Python ile termina...
Nasıl rastgele bir liste Python kullan...
Sözlükler Python for döngüleri kullana...
Neden Python karşılaştırma dizeleri ku...