0

今日は、ファイルを簡単に整理するために 2 つの短いスクリプトを書きました。1 つはファイル名のスペースをアンダースコアに置き換え、もう 1 つはディレクトリ内のすべてのファイルとフォルダーの名前を読み取り、それらを txt ファイルにダンプします。しかし、どちらもやめませんでした。それらは両方とも for ループで終了し、明らかに終了したときにどちらも壊れない理由がわかりません。quit() を渡すと、スクリプトは意図したとおりに動作し、手動で中止するだけで済みます。

アンダースコア加算器は次のとおりです。

import os

pathname = raw_input('Enter the pathname: ')
os.chdir(pathname)
filelist = os.listdir(pathname)
outfile = []
for idx, val in enumerate(filelist):
    outfile.append(val.replace(' ', '_'))
    os.rename(val, outfile[idx])

そして、ディレクトリ コンテンツ リーダー:

import os

pathname = raw_input('What path\'s contents do you want listed? ')
os.chdir(pathname)
filelist = os.listdir(pathname)
file = open('out.txt', 'w')
for idx, val in enumerate(filelist):
        file.write(val + '\n')

どちらのスクリプトも非常に似たようなことを行うため、同様の理由で壊れることはないと思います。

ありがとう!

4

1 に答える 1

0

答えは簡単で、両方の for ループが両方から抜け出した後に print ステートメントを追加します。簡単な修正。Blender のコメントに感謝します。

于 2012-10-31T21:40:43.137 に答える