6

これを行う最善の方法についてはわかりませんが、Python スクリプトを .py として保存しています。このスクリプトの最終出力は、x1.txt と y1.txt の 2 つのファイルです。

基本的に、このスクリプトを 1000 回実行し、実行するたびに 2 つのテキスト ファイルに新しい名前 (x1.txt + y1.txt) を書き込み、次に x2.txt と y2.txt を実行します。

これについて考えると、スクリプト全体を次のようなもので開始する方が良いようです

runs=xrange(:999)
for i in runs:

##run the script

そして、何かで終了します

    for i in runs:
        filnameA=prefix += "a"+i


open("filnamea.txt", "w").write('\n'.join('\t'.join(x for x in g if x) for g in grouper(7, values)))


    for i in runs:
        filnameB=prefix += "a"+i


open("filnameB.txt", "w").write('\n'.join('\t'.join(x for x in g if x) for g in grouper(7, values)))

これは本当に最善の方法ですか?私はそうではないに違いない..より良いアイデア?

時間を計算するファイル名を書くことができることは知っていますがimport time、これは後で処理するのが面倒です。

4

3 に答える 3

4

これらを並行して実行するためのリソースがコンピューターにある場合は、それを実行するために使用できますmultiprocessing。それ以外の場合は、ループを使用して順番に実行します。

あなたの質問は、あなたが立ち往生している部分について明確ではありません。ループを使用すべきかどうかについてアドバイスが必要ですか? はいの場合、私の答えは上記です。または、ファイル名の作成についてもサポートが必要ですか? その部分は次のように行うことができます。

import sys

def myscript(iteration_number):
    xfile_name = "x%d.txt" % iteration_number
    yfile_name = "y%d.txt" % iteration_number
    with open(xfile_name, "w") as xf:
        with open(yfile_name, "w") as yf:
            ... whatever your script does goes here

def main(unused_command_line_args):
    for i in xrange(1000):
        myscript(i)
    return 0

if __name__ == '__main__':
    sys.exit(main(sys.argv))
于 2012-04-12T23:43:25.837 に答える
0

よくわかりませんが、おそらく、それが役立つかもしれません: 'hello' を 10 回印刷したいとします。これを行うために、関数を定義できます。

    #Function for printing hello 10 times:
    def func(x):
       x="hello"
       i=1
       while i<10 :
           print(x)
           i += 1
       else :
           print(x)

    
    print(func(1))
于 2020-12-08T19:37:32.187 に答える