次のコードを使用して、ファイルを数百の異なるファイルに分割して、それぞれ16行のファイルを作成します。今度は、このコードを何度も実行して、入力ファイルを読み込み、現在のフォルダだけでなく、別々のフォルダに出力を書きたいと思っています。今私は、ようなコードを実行します。別のフォルダにあるシェルから出力を書き出すためにPythonコードを変更する
python split.py < input.txt
しかし、私のような何かやりたい:
for i in {1..10}; do python split.py < folder${i}/input.txt ; done
を、対応するフォルダにそれらのファイルを書き込みます。私は別のフォルダから入力ファイルを読むことができますが、問題は出力ファイルがコマンドを実行するディレクトリに書き込まれ上書きされることです。私はここでこれを修正する方法がわからないwith open("ratio-{}.txt".format(i), 'w') as File:
コードです。
#!/usr/bin/env python
from __future__ import print_function
import sys, os
import itertools
def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
args = [iter(iterable)] * n
return itertools.izip_longest(fillvalue=fillvalue, *args)
def convNotation(x):
if isinstance(x, float):
s = str(x)
else:
s = x
return s.replace('e', "*^")
Values = (Line.strip() for Line in sys.stdin)
Data = list(grouper(Values, 16, 0.0))
for i in range(len(Data)):
Conf = Data[i]
with open("ratio-{}.txt".format(i), 'w') as File:
for x in Conf:
print(x, file=File)
入力の読み取りを処理するコードを含めることはできますか? – snakecharmerb
このコードは入力の読み取りを処理します。私がする必要があるのは次のとおりです:python split.py
user3389597
多分、http://stackoverflow.com/questions/15260888/python-stdin-filenameを見てください – snakecharmerb