কীওয়ার্ড with
প্রকাশিত হওয়ার পরে পাইথন -২.২ থেকে এই উত্তরটি সমস্ত সংস্করণের সাথে সামঞ্জস্যপূর্ণ ।
1. উপস্থিত না থাকলে ফাইল তৈরি করুন + বর্তমান সময় সেট করুন
(কমান্ডের মতো হ'ল touch
)
import os
fname = 'directory/filename.txt'
with open(fname, 'a'): # Create file if does not exist
os.utime(fname, None) # Set access/modified times to now
# May raise OSError if file does not exist
আরও শক্তিশালী সংস্করণ:
import os
with open(fname, 'a'):
try: # Whatever if file was already existing
os.utime(fname, None) # => Set current time anyway
except OSError:
pass # File deleted between open() and os.utime() calls
২. অস্তিত্ব না থাকলে কেবল ফাইলটি তৈরি করুন
(সময় আপডেট হয় না)
with open(fname, 'a'): # Create file if does not exist
pass
৩. শুধু ফাইল অ্যাক্সেস / পরিবর্তিত সময় আপডেট করুন
(বিদ্যমান না থাকলে ফাইল তৈরি করে না)
import os
try:
os.utime(fname, None) # Set access/modified times to now
except OSError:
pass # File does not exist (or no permission)
ব্যবহার করা os.path.exists()
কোডটি সহজ করে না:
from __future__ import (absolute_import, division, print_function)
import os
if os.path.exists(fname):
try:
os.utime(fname, None) # Set access/modified times to now
except OSError:
pass # File deleted between exists() and utime() calls
# (or no permission)
বোনাস: একটি ডিরেক্টরিতে সমস্ত ফাইলের আপডেটের সময়
from __future__ import (absolute_import, division, print_function)
import os
number_of_files = 0
# Current directory which is "walked through"
# | Directories in root
# | | Files in root Working directory
# | | | |
for root, _, filenames in os.walk('.'):
for fname in filenames:
pathname = os.path.join(root, fname)
try:
os.utime(pathname, None) # Set access/modified times to now
number_of_files += 1
except OSError as why:
print('Cannot change time of %r because %r', pathname, why)
print('Changed time of %i files', number_of_files)