2

私はかなり基本的な Python の知識を持っていますが、残念ながら基本的すぎて、やりたいことを実行する方法がわかりません。いくつかの検索を行ったところ、私の質問に対する答えの半分が見つかりました。

計画はフォルダの内容を削除することですが、ディレクトリはユーザー名のためにシステムごとに異なります。ディレクトリが「C:\Users\USER\Documents\VideoEditor\JunkFiles」であるとしましょうが、私のプログラムでは、すべての異なるバージョンのファイルを削除しようとします。リストの例を以下に示します: 「C:\Users\USER\Documents\VideoEditor09\JunkFiles」

だから基本的に、

ユーザー名に関係なく、ディレクトリがどこにあるかをどのように伝えますか? 指定されたディレクトリの内容を削除するように指示するにはどうすればよいですか?

ありがとう!

テオ。

4

3 に答える 3

0

os.path.expanduser

>>> os.path.expanduser('~')
'C:\\Users\\falsetru'
于 2013-06-22T14:05:21.473 に答える
0

次のように、ユーザーのドキュメント ディレクトリにアクセスできます。

>>> import os
>>> documents = os.path.join(os.environ['USERPROFILE'], 'Documents')
>>> documents
'C:\\Users\\poke\\Documents'
>>> directories = [os.path.join(documents, 'VideoEditor{0}\\JunkFiles'.format(y)) for y in ('09', '10', '11')]
>>> directories
['C:\\Users\\poke\\Documents\\VideoEditor09\\JunkFiles', 'C:\\Users\\poke\\Documents\\VideoEditor10\\JunkFiles', 'C:\\Users\\poke\\Documents\\VideoEditor11\\JunkFiles']

次に、ディレクトリのファイルをループして削除するか、フォルダーを削除しても問題ない場合 (後でもう一度作成することができます)、次を使用することもできますshutil.rmtree

>>> import shutil
>>> for directory in directories:
        shutil.rmtree(directory)
于 2012-12-05T18:10:17.907 に答える
0

あなたが試すことができるのは次のとおりです。

import os
user = 'some_user_name'
videoEditors = ['VideoEditor09','VideoEditor10','VideoEditor11']
for i in videoEditors:
    os.chdir('C:\Users\%s\Documents\%s\JunkFiles'%(user,i))
    files = os.listdir('.')
    for file in files:
        os.remove(file)

ここで主に使用したのは、Python os パッケージと、参照するフォルダーのリストです。また、'%s' は Python文字列フォーマットの一部です。

お役に立てれば!

于 2012-12-05T17:59:38.920 に答える