处理数据集时候,想把不同文件下的文件内容输出到一个新文件中,过程中看有用python写的。虽然最后用的shell,还是记录一下,不然白浪费时间了
import os
import sys
import shutil
rootdir = sys.argv[1]
newfile = sys.argv[2]
f = open(newfile, "wb")
for root, subFolders, files in os.walk(rootdir):
for filename in files:
filePath = os.path.join(root, filename)
print filePath
shutil.copyfileobj(open(filePath,'rb'), f)
f.close()
其中,
os.path.join()函数用于路径拼接文件路径;可以传入多个路径:
会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃。
以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数的上一个参数开始拼接。
shutil 是python 强大的文件复制模块,shutil.copystat复制状态,shutil.copy等详细可以自己索引。
另外注意,代码中两个for的应用(第二个为子文件遍历。)
os.walk用于文件之间的游走。