python のフォルダの書き込み順に関してお聞きしたいのですが、
以下のサンプルを実行しますと、

import os

def asxmake(srcDir):
    for sub in os.listdir(srcDir):
        newSrcPath = os.path.join(srcDir, sub)
        if os.path.isdir(newSrcPath):
            f = open(AsxMake, 'a+')
            print >>f, sub
            print sub
            asxmake(newSrcPath)

        else:
            f = open(AsxMake, 'a+')
            file = sub.replace('/','\\')
            filename = os.path.basename(file)
            print >>f, sub
            print sub

srcDir = 'C:\\temp\\test'
AsxMakefol = 'C:\\temp\\test'
AsxMake = 'C:\\temp\\test\\1.asx'
asxmake(srcDir)

書き込まれたファイルを確認してみると、

(一番上の階層は、01.txt 02.txt
00フォルダ構造の中に03.txt 04.txtがある状態でテストしています。)

03.txt
04.txt
00
01.txt
02.txt
となってしまいます。

print文で確認すると処理順は以下のようになっている
のですが、
00
03.txt
04.txt
01.txt
02.txt
何が原因で順番が変わってしまうのでしょうか?

program初心者のため、解決策を見出せません。
ご教授の程よろしくお願いいたします。