ホームページ >バックエンド開発 >Python チュートリアル >Python ディレクトリ操作: Python はフォルダーを走査し、結果を XML として保存します。

Python ディレクトリ操作: Python はフォルダーを走査し、結果を XML として保存します。

WBOY
WBOYオリジナル
2016-06-16 08:45:251573ブラウズ

Linux サーバーには CentOS、Fedora などが含まれており、これらのバージョンには 2.4 から 2.5 までの Python がプリインストールされているため、スクリプトをローカルに作成してアップロードするだけで済みます。対応するマシンに追加するには、実行時にパラメータを変更するだけです。

Python は、OS ライブラリを使用してファイルとフォルダーを操作します。主に次のコードでいくつかの関数が使用されます。

os.listdir: ディレクトリ内のファイルとフォルダーを一覧表示します。

os.path.join: ファイル/フォルダーを結合して完全なパスを取得します。
os.path.isfile: それがファイル
os.path.splitext: 名前からサブパートを取得します

以下はディレクトリ操作のコードです

コードをコピー コードは次のとおりです:
def search(folder, filter, allfile):
フォルダー = os.listdir (folder)
フォルダー内の名前の場合:
curname = os.path.join(folder, name)
isfile = os.path.isfile(curname)
if isfile:
ext = os.path.splitext (Curname) [1]
Count = Filter.Count (EXT)
If Count & GT;
Cur = MyFile ()
Curname
AllFile .append(cur)
else:
search(curname, filter, allfile)
return allfile

ファイルに関するさまざまな情報を返す場合、ファイルのサイズ、時間、種類などの情報を記録する必要がある場合は、ファイルのフルパスのみを保存するためにカスタムクラスを使用します。ファイルを同時に開くと、コードが展開される例に従うことができます。


コードをコピーします コードは次のとおりです:
class myfile:
def __init__(self):
self.name = ""

ファイル情報を格納する配列を取得した後、それを XML 形式で保存することもできます。 使用する場合は、次のコードを使用します。ドキュメントからの dom.minidom
以下は xml として保存されたコードです

コードをコピー コードは次のとおりです:
defgenerate(allfile, xml):
doc = Document( )
root = doc.createElement("root")

doc.appendChild(root)

すべてのファイルの myfile:

file = doc.createElement("file")
root.appendChild(file)

name = doc.createElement("name")

file.appendChild(name)
namevalue = doc.createTextNode(myfile.name)
name.appendChild(namevalue)

print doc.toprettyxml(indent="")

f = open(xml, 'a+')
f.write(doc.toprettyxml(indent=""))
f.close( )

実行されるコードは次のとおりです

コードをコピー コードは次のとおりです:
if __name__ == '__main__':
フォルダー = "/ usr/local /apache/htdocs"
filter = [".html",".htm",".php"]
allfile = []
allfile = search(folder, filter, allfile)
len = len(allfile)
print "見つかった: " + str(len) + " files"
xml = "folder.xml"

generate(allfile, xml)

Linux コマンド ライン状態で、Python filesearch.py​​ を実行して、folder.xml という名前のファイルを生成します。

このプログラムを Windows で実行したい場合は、フォルダー変数を Windows の形式 (c:\apache2htdocs など) に変更してから、c:python25python.exe filesearch.py​​ を実行する必要があります (ここではPython のインストール ディレクトリは c:python25 )

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。