-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.py
69 lines (48 loc) · 1.89 KB
/
utils.py
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import os
import shutil
from distutils.dir_util import copy_tree
### Linuxコマンド ###
def mv(from_path: str, to_path: str):
assert os.path.exists(from_path), f"[ERROR] {from_path} is not found"
assert os.path.exists(to_path), f"[ERROR] {to_path} is not found"
new_path = shutil.move(from_path, to_path)
return new_path
def mkdir(path: str):
os.makedirs(path, exist_ok=True)
assert os.path.exists(path), f"[ERROR] {path} is not found"
assert os.path.isdir(path), f"[ERROR] {path} is not dir"
def ls(path: str): # -> list:
return os.listdir(path)
def pwd():
return os.getcwd()
def cd(path: str):
crr_path = pwd()
os.chdir(f"{crr_path}/{path}")
# assert os.getcwd() == os.path.join(crr_path, path)
def cp(from_path: str, to_path: str):
assert os.path.exists(from_path), f"[ERROR] {from_path} is not found"
if os.path.isdir(from_path):
copy_tree(from_path, to_path)
assert os.path.exists(to_path), f"[ERROR] {to_path} is not found"
assert os.path.isdir(to_path), f"[ERROR] {to_path} is not dir"
else:
shutil.copyfile(from_path, to_path)
assert os.path.exists(to_path), f"[ERROR] {to_path} is not found"
assert os.path.isfile(to_path), f"[ERROR] {to_path} is not dir"
def rm(path: str):
if os.path.exists(path):
if os.path.isdir(path):
shutil.rmtree(path)
assert not os.path.exists(path), f"[ERROR] {path} is not found"
else:
os.remove(path)
assert not os.path.exists(path), f"[ERROR] {path} is not found"
### ファイルIO ###
def write_file(path: str, content: str):
with open(path, mode="w") as f:
f.write(content)
assert os.path.exists(path), f"[ERROR] {path} is not found"
assert os.path.isfile(path), f"[ERROR] {path} is not file"
def read_file(path: str):
with open(path) as f:
return f.read()