1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import os
import string
from test_utils import simple_assert
def join(*args):
return os.path.join(*args)
simple_assert(join("/", "tmp", "a.txt"), "/tmp/a.txt", name="join")
def ensure_absolute(path):
"""Ensures `path` is an absolute path."""
return os.path.abspath(os.path.expanduser(path))
simple_assert(ensure_absolute("~/a.txt"),
"/usr/local/google/home/wpcarro/a.txt",
name="ensure_absolute")
def filename(path):
"""Return just the filename of `path`."""
return os.path.basename(path)
simple_assert(filename("~/a.txt"), "a.txt", name="filename")
simple_assert(filename("/path/to/file"), "file", name="filename")
def strip_extension(path):
"""Remove file extension from path."""
return os.path.splitext(path)[0]
simple_assert(strip_extension("~/a.txt"), "~/a", name="filename")
simple_assert(strip_extension("/path/to/file.txt"),
"/path/to/file",
name="strip_extension")
def change_extension(ext, path):
"""Change `path`'s file extension to `ext`."""
assert string.starts_with('.', ext)
return strip_extension(path) + ext
|