0

親ディレクトリ内でsub_directories呼び出されたすべてを見つけることができるように、Pythonスクリプトを作成しようとしています。次に、名前を変更して別の場所に移動したいと思います。これまでのところ、コードは次のとおりです。'something'sub directories

import os, shutil,fnmatch

match = {}
for root, dirnames, filenames in os.walk('test'):
    #print root
    #print dirnames
    #print filenames
    for i in fnmatch.filter(dirnames,'find'):
        #print os.path.join(root,dirnames[0])
        print root
        #match.append(root)
        match[root]=dirnames[0]

call match のようなものが得られます{'test\a': 'find'......}{'a':'find'...基本的に親ディレクトリの名前を取り除こうとしているように見えるように、辞書のキー値を変更したいと思います。文字列に変換して分割を使用することも考えましたが、あまり効率的ではないようです。

4

1 に答える 1

0

ディレクトリ名dirnameなしでを取得するには、次のように を使用します。parentos.path.basename

>>> dirname = 'C:\\Users\\myUsers\\Videos'
>>> os.path.basename(dirname)
'Videos'

編集:OPコメントに応じて、

与えられた:

dirname = 'C:\\Users\\myUsers\\Videos'

そして、新しいフォルダ名を として取得したい場合myUsers_Videosは、次の方法があります。

>>> os.path.basename('_'.join(os.path.split(dirname)))
'myUsers_Videos'
于 2015-07-11T04:57:42.347 に答える