website creator
import os
import errno
# print(dir(os)) # prints all the available attributes and methods
print(os.getcwd()) # D:\python\os (current working directory)
os.chdir('temp') # change current working directory
print(os.getcwd()) # D:\python\os\temp
print(os.listdir()) # ['temp2', 'temp3'] (directory list)
# os.mkdir('temp4') # create directory
try: # catch FileExistsError error
os.mkdir('temp4')
except OSError as exc:
if exc.errno != errno.EEXIST:
raise
pass
os.makedirs('temp5/sub', exist_ok=True) # create directory with subdirs; exist_ok for FileExistsError
print(os.listdir()) # ['temp2', 'temp3', 'temp4', 'temp5']
os.rmdir('temp4') # delete directory
os.removedirs('temp5/sub') # delete directory and subdirectories
print(os.listdir()) # ['temp2', 'temp3']
# os.rename('test.txt', 'demo.txt')
print(os.stat('demo.txt')) # file info
# Useful stat results: st_size (bytes), st_mtime (time stamp)
# To see entire directory tree and files within os.walk is a generator
# that yields a tuple of 3 values as it walks the directory tree
for dirpath, dirnames, filenames in os.walk(os.getcwd()):
print('Current Path:', dirpath)
print('Directories:', dirnames)
print('Files:', filenames)
print()
'''
Current Path: D:\python\os\temp
Directories: ['temp2', 'temp3']
Files: ['demo.txt']
Current Path: D:\python\os\temp\temp2
Directories: []
Files: []
Current Path: D:\python\os\temp\temp3
Directories: []
Files: []
'''
print(os.environ.get('HOME')) # C:\Users\jim
file_path = os.path.join(os.environ.get('HOME'), 'test.txt')
print(file_path) # C:\Users\jim\test.txt
# create file C:\Users\jim\test.txt
# with open(file_path, 'w') as f:
# f.write(' ')
print(os.path.basename('temp/temp2/test.txt')) # test.txt
print(os.path.dirname('temp/temp2/test.txt')) # temp/temp2
print(os.path.split('temp/temp2/test.txt')) # ('temp/temp2', 'test.txt')
print(os.path.exists(os.environ.get('HOME'))) # True
print(os.path.isdir(os.environ.get('HOME'))) # True
print(os.path.isfile(os.environ.get('HOME'))) # False
print(os.path.splitext('temp/temp2/test.txt')) # ('temp/temp2/test', '.txt')
# print(dir(os.path)) # prints all the available attributes and methods