0

私は現在、Windowsディレクトリに対していくつかのことを行うスクリプトに取り組んでいますが、何が間違っているのか理解できないようです。これが関連するコードの抜粋です。

    import os
    user = os.environ['USERNAME']
    os.chdir("/users/%s/dekstop") % user

しかし、それを行うと、次のエラーが発生します。

WindowsError: [Error 3] The system cannot find the path specified: '/users/%s/desktop'

文字列のフォーマットが機能しない理由はありますか?

4

2 に答える 2

5

% users括弧内にある必要があります。

os.chdir("/users/%s/dekstop" % user)

于 2012-08-28T20:01:47.303 に答える
0

os.chdir("/users/%s/dekstop") % user は、書式設定なしで os.chdir を呼び出すと、この結果に対して作業を行いますが、これは望ましくありません。

chdir 関数に渡す前に文字列を構築する必要があります

例えば

s = "/users/%s/desktop" % user
os.chdir( s )

ただし、この場合、ディレクトリを扱う場合はさらに、os.path関数を使用してパスを操作します。たとえばos.path.expanduser('~/Desktop')、すべてのセットアップで /users の下にユーザー ディレクトリがあるわけではないため、適切な Windows 変数を確認する必要があります。

于 2012-08-28T20:04:46.733 に答える