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