2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

フォルダの区切りについて

Posted at

任意のフォルダ一覧を取得する際に少し調べたので備忘録として。

環境

OS:Windows 10
言語:Python 3.6.5

フォルダの区切り

Pythonでフォルダを取り扱う場合に、エクスプローラからパスコピーするとバックスラッシュ(\)で区切った形式でコピーされる。

GetDir_1.py
# エクスプローラからコピーしたパスをそのまま使った場合
path = "C:\hoge\"
dirs = []

for f in os.listdir(path):
    if os.path.isdir(path + f):
        dirs.append(f)

print(dirs)

これだと
SyntaxError: EOL while scanning string literal
になる。

回避策

①フォルダの区切りをスラッシュ(/)に変更する。

GetDir_2.py
# フォルダの区切りを/に変更
path = "C:/hoge/"
dirs = []

for f in os.listdir(path):
    if os.path.isdir(path + f):
        dirs.append(f)

print(dirs)

②バックスラッシュを重ねる。

GetDir_3.py
# フォルダの区切りを/に変更
path = "C:\\hoge\\"
dirs = []

for f in os.listdir(path):
    if os.path.isdir(path + f):
        dirs.append(f)

print(dirs)

③raw文字列を使う。

GetDir_4.py
# raw文字列を使用
# この場合パスの末尾に「\」は付けれないので注意
path = r"C:\hoge"
dirs = []

for f in os.listdir(path):
    if os.path.isdir(path + f):
        dirs.append(f)

print(dirs)
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?