Using pathlib, there are quite a few examples of how to get directory
information on root path, but the same methods don't always
work on derived paths.
Here's one example of how it can be done
Following code for windows 7 and Python 3.6.3:
information on root path, but the same methods don't always
work on derived paths.
Here's one example of how it can be done
Following code for windows 7 and Python 3.6.3:
from pathlib import Path class TryPaths: def __init__(self): self.homepath = Path('.') self.src_datapath = self.homepath / '..' / 'data' self.src_ansipath = self.src_datapath / 'fips' / 'ANSI_Codes' self.src_amindianpath = self.src_ansipath / 'AmericanIndianAreas' self.show_dir(self.homepath) self.show_dir(self.src_datapath) self.show_dir(self.src_ansipath) self.show_dir(self.src_amindianpath) def show_dir(self, dirpath): print(f'\nDir Location: {dirpath}') dirs = [x.name for x in dirpath.iterdir() if x.is_dir()] if dirs: print(f'Directories: {dirs}') files = [x.name for x in dirpath.iterdir() if x.is_file()] if files: print(f'Files: {files}') if __name__ == '__main__': TryPaths()results:
Output:Dir Location: .
Directories: ['data', '__pycache__']
Files: ['LocalPaths.py', 'MakeFipsJson.py', 'TryPaths.py', '__init__.py']
Dir Location: ..\data
Directories: ['fips', 'old']
Files: ['ReadGis.py']
Dir Location: ..\data\fips\ANSI_Codes
Directories: ['AmericanIndianAreas', 'CongressionalDistricts', 'CountyAndCountyEquivalents', 'CountySubdivision', 'GNIScodesForNamedPopulatedPlaces-etc', 'MetropolitanAndMicropolitanStatisticalAreasAndRelatedAreas', 'Place', 'SchoolDistrictCodes', 'StateAndStateEquivalents', 'VotingDistrict']
Dir Location: ..\data\fips\ANSI_Codes\AmericanIndianAreas
Files: ['2016AIAlist.txt', 'FileFormat.txt']
To get an actual path for any pathlib path, use:print(self.src_amindianpath.resolve())