我有一個使用文本的大塊訓練模型的腳本。Python進程多個文件反覆,沒有明確的for循環
python myscript.py -i trainingdata.txt
或
cat trainingdata.txt | python myscript.py
第二個版本是特別有用的:它現在所寫的,我可以從一個文件或標準輸入無論是讀
parser.add_argument('-i', help='input_file', default=sys.stdin)
... # do a bunch of other stuff
if args.i is sys.stdin:
m.train(args.i)
else:
m.train(open(args.i, 'r'))
然後我可以把我的腳本結合的方式如果我想搜索文件系統,並使用多個文件來訓練模型。然而,這會變得非常複雜,由於管道,如果我同時嘗試使用cProfiler
即
python -m cProfile myscript.py ...
我知道我可以使用-i
選項發送多個文件來分析,並逐一查看這些文件,但然後我會必須改變train()
方法的行爲以避免覆蓋數據。
是否有打開的IO通道中,對於沒有更好的表達的一個好辦法,那串接不受線明確讀寫線輸入?
我覺得你可能想看看熊貓。 – mauve
@mauve我已經在這個項目中與大熊貓一起工作,你指的是什麼? – posdef
我認爲這將有助於「不逐行閱讀」部分。我有一些代碼,我打開目錄中的每個文件,將它讀入DataFrame,連接DataFrames,按時間排序,然後以csv格式輸出爲10小時的塊。 – mauve