3
"""Cross-platform os tools: files/directories manipulations
9
ostools.py copytodir FILES... DIR
10
copy files to specified directory
12
ostools.py copytree FILES... DIR
13
copy files to specified directory keeping relative paths
15
ostools.py remove [FILES...] [DIRS...]
16
remove files or directories (recursive)
25
if not os.path.exists(dirname):
27
if not os.path.isdir(dirname):
28
print("Error: Destination is not a directory", dirname)
45
if cmd == 'copytodir':
47
print("Usage: ostools.py copytodir FILES... DIR")
51
retcode = makedir(todir)
56
for possible_glob in argv:
57
files += glob.glob(possible_glob)
60
dest = os.path.join(todir, os.path.basename(src))
61
shutil.copy(src, dest)
62
print("Copied:", src, "=>", dest)
68
print("Usage: ostools.py copytree FILES... DIR")
72
retcode = makedir(todir)
77
for possible_glob in argv:
78
files += glob.glob(possible_glob)
82
dest = os.path.join(todir, relative_path)
83
dest_dir = os.path.dirname(dest)
84
retcode = makedir(dest_dir)
87
shutil.copy(src, dest)
88
print("Copied:", src, "=>", dest)
94
print("Usage: ostools.py remove [FILES...] [DIRS...]")
98
for possible_glob in argv:
99
filesdirs += glob.glob(possible_glob)
105
elif os.path.isfile(i):
109
print("Not found:", i)
113
if cmd == "basename":
115
print("Usage: ostools.py basename [PATH | URL]")
119
print(os.path.basename(path))
124
print("Usage: ostools.py makedir DIR")
127
retcode = makedir(argv.pop())
137
if __name__ == "__main__":