私はディレクトリサイズを取得する関数を取得しようとしています。パスが突然バックスラッシュになる
def fsize(path, returntype='b'):
size = 0
if isdir(path):
for root, dirs, files in walk(path):
for file in files:
size += getsize(join(path,file))
else:
print abspath(path)
size = getsize(abspath(path))
if returntype != 'b':
return convert_size(size, returntype)
return size
path = r"D:\Library\Daniel's_Books"
print fsize(path, 'm')
と私は、この変なエラーが出ます:
size = getsize(abspath(path))
File "C:\Python27\lib\genericpath.py", line 49, in getsize
return os.stat(filename).st_size
WindowsError: [Error 2] The system cannot find the file specified: "D:\\Library\\Daniel's_Books\\cover.jpg"
D:\Library\Daniel's_Books\cover.jpg
なぜそれがバックスラッシュをバックスラッシュのでしょうか? エラーを修正するにはどうすればよいですか?あなたの最初の質問
why does it backslash the backslashes?
に関する
私はなぜそれが\を追加するのかわかりません。しかし代わりに "/"を使用しようとしましたか?通常、ほとんどのライブラリと言語で、パスの方がはるかに優れています。 – TheSHEEEP
yepは、まったく同じことを返します。正確に。 – mirandalol
あなたのuserdirの外にあるファイルにアクセスしようとしているので、Windows Vista/7のようなサウンドとアクセス権の問題が発生します。 – mensi