【Python】【Seaborn】日本語文字化けを直す
MAX
MAX999blog
既存のファイルをオープンする前には存在チェックが必要。
ユーザー任せで新しいファイルやディレクトリを作成する場合も、名前が適切かチェックが必要。
開く前に存在チェックしなくてもエラー時に対処することもできるが・・・。
ファイルまたはディレクトリの存在チェックは以下の通り。
1import os
2from pathlib import Path
3
4path_name = "./test/test.csv"
5
6os.path.exists(path_name)
7# True or False
8
9path = Path(path_name)
10path.exists()
11# True or False
ファイルやディレクトリが存在する場合、Trueが返ってくる。
存在しない場合はFalseが返ってくる。
ディレクトリかどうかをチェックしたい場合は以下の通り。
1import os
2from pathlib import Path
3path_name = "./test/test.csv"
4
5os.path.isdir(path_name)
6# False
7path = Path(path_name)
8path.is_dir()
9# False
10
11# 存在しないディレクトリの場合、ファイルでなくディレクトリ名だったとしてもFalseが返ってくるので注意
12path_name = "./test1/test2"
13os.path.isdir(path_name)
14# True
15path = Path(path_name)
16path.is_dir()
17# True
18
上記の例だと、「test.csv」はファイルなので、Falseが返ってくる。
引数が「ディレクトリ」の形式(拡張子なし)であっても、実際にそのディレクトリが存在しない場合はFalseが返ってくる。
ファイルかどうかをチェックしたい場合は以下の通り。
1import os
2from pathlib import Path
3
4# 拡張子の存在するファイル名だったとしても、ファイルが存在しない場合はFalseが返ってくることに注意。
5path_name = "./test/test.csv"
6os.path.isfile(path_name)
7# True
8path = Path(path_name)
9path.is_file()
10# True
11
12path_name = "./test1/test2"
13os.path.isfile(path_name)
14# False
15path = Path(path_name)
16path.is_file()
17# False
上記の例だと、test.csvはファイルなので、Trueが返ってくる。
isdirと同じで、引数が「.拡張子」の形になっていても、実際には存在しないファイルの場合はFalseが返ってくる。
isdir、isfile共に、ファイルやディレクトリを新しく作成したい時に、形式が合っているかのチェックに使える。
この他にも拡張子のチェックなどがよくやる処理。