def test_Combine_type_mixture(self): self.assertEqual('/tmp/A', Path.Combine('/tmp', pathlib.Path('A'))) self.assertEqual('/tmp/A', Path.Combine(pathlib.Path('/tmp'), 'A')) self.assertEqual('/tmp/A', Path.Combine(['/tmp'], (pathlib.Path('A'),))) self.assertEqual('/tmp/A/B', Path.Combine(['/tmp'], (pathlib.Path('A'),), 'B')) self.assertEqual('/tmp/A/B/C/D/E', Path.Combine(['/tmp', pathlib.Path('A')], (pathlib.Path('B'),'C'), 'D', pathlib.Path('E')))
def test_Combine_pathilb_Path_verlen(self): self.assertEqual('/tmp', Path.Combine(pathlib.Path('/tmp'))) self.assertEqual('/tmp/A', Path.Combine(pathlib.Path('/tmp'), pathlib.Path('A'))) self.assertEqual('/tmp/A/B', Path.Combine(pathlib.Path('/tmp'), pathlib.Path('A'), pathlib.Path('B'))) self.assertEqual('/tmp/A/B.txt', Path.Combine(pathlib.Path('/tmp'), pathlib.Path('A'), pathlib.Path('B.txt'))) self.assertEqual('/tmp/A/B.txt/C', Path.Combine(pathlib.Path('/tmp'), pathlib.Path('A'), pathlib.Path('B.txt'), pathlib.Path('C')))
def test_Combine_str_tuple(self): self.assertEqual('/tmp', Path.Combine(('/tmp',))) self.assertEqual('/tmp/A', Path.Combine(('/tmp', 'A'))) self.assertEqual('/tmp/A/B', Path.Combine(('/tmp', 'A', 'B'))) self.assertEqual('/tmp/A/B.txt', Path.Combine(('/tmp', 'A', 'B.txt'))) self.assertEqual('/tmp/A/B.txt/C', Path.Combine(('/tmp', 'A', 'B.txt', 'C')))
def test_Combine_str_list(self): self.assertEqual('/tmp', Path.Combine(['/tmp'])) self.assertEqual('/tmp/A', Path.Combine(['/tmp', 'A'])) self.assertEqual('/tmp/A/B', Path.Combine(['/tmp', 'A', 'B'])) self.assertEqual('/tmp/A/B.txt', Path.Combine(['/tmp', 'A', 'B.txt'])) self.assertEqual('/tmp/A/B.txt/C', Path.Combine(['/tmp', 'A', 'B.txt', 'C']))
def test_Combine_str_verlen(self): self.assertEqual('/tmp', Path.Combine('/tmp')) self.assertEqual('/tmp/A', Path.Combine('/tmp', 'A')) self.assertEqual('/tmp/A/B', Path.Combine('/tmp', 'A', 'B')) self.assertEqual('/tmp/A/B.txt', Path.Combine('/tmp', 'A', 'B.txt')) self.assertEqual('/tmp/A/B.txt/C', Path.Combine('/tmp', 'A', 'B.txt', 'C'))
import sys, os, os.path, pathlib print(pathlib.Path(__file__).parent.parent / 'src') sys.path.append(str(pathlib.Path(__file__).parent.parent / 'src')) from Path import Path if __name__ == '__main__': print(Path.ChangeExtension('/tmp/a.txt', 'csv')) print(Path.ChangeExtension(pathlib.Path('/tmp/a.txt'), 'csv')) print(Path.Combine('A', 'B', 'C')) print(Path.Combine(pathlib.Path('A'), 'B', 'C')) print(Path.GetDirectoryName('/tmp/work/a.txt')) print(Path.GetExtension('/tmp/work/a.txt')) print(Path.GetFileName('/tmp/work/a.txt')) print(Path.GetFileNameWithoutExtension('/tmp/work/a.txt')) print(Path.GetFullPath('work/a.txt')) print(Path.Expand('~/root/a.txt')) print(Path.Expand('${HOME}/root/a.txt')) print(Path.Expand('$HOME/root/a.txt')) print(Path.RelativeTo('a.txt')) print(Path.RelativeTo('/home/pi/dir/a.txt', start='/home/pi/')) p = Path() print(p.Root) print(p.Child) print(p.IsExpand) #p.Root = 'A' p.Root = '/A' print(p.Root) #p.Child = '/B' p.Child = 'B'