2

ファイルサイズを調べたり、ディレクトリを作成したり、通常のシェルにいるかのように移動したりできる機能を備えたプログラムをPythonで作成しました。問題は、これを C++ で実行できるようにする必要があることです。

C++ 機能が必要な Python コードは次のとおりです。

os.chdir('r'+str(r)+'n'+str(n))
def build_path(newpath):
    if os.path.isdir(newpath):
        os.chdir(newpath)
    else:
        os.mkdir(newpath)
        os.chdir(newpath)

また、この作品:

if os.stat('data'+str(tick)).st_size > 2500000:
    heavyFile.close()
    tick+=1
    heavyFile=open('data'+str(tick),'w')
os.system('touch COMPLETED'+str(r)+str(n))

したがって、基本的には、いくつかのディレクトリを作成し、それらのディレクトリに変更し、ファイルを構築できるようにする必要がありますが、それらが 2.5 MB をはるかに超えないようにし、最終的にそのサイズを超えたら、次のようにインクリメントされる新しいファイルを作成します。 1。

したがって、ファイル ツリーは次のようになります。

r4n4/dir1/data0、data1、data2 など r4n4/dir2/data0、data1、data2 など。

c++ でこれを行うにはどうすればよいですか? system('command') を呼び出すことができることは知っていますが、それを使用してファイルサイズを適切に取得する方法がわかりません。これを行う簡単な方法を望んでいます。また、このプログラムを実行している場所ではブーストにアクセスできません。

4

4 に答える 4

1

システムコールを利用して、目的を達成できます。Linux を使用している場合は、次の man ページを確認してください。

man 2 chdir
man 2 mkdir
man 2 stat
于 2013-07-09T19:55:15.647 に答える
1

次のコマンドを使用して、C++ コードからスクリプトを呼び出すこともできます。

system ("python script.py");
于 2013-07-11T03:44:34.007 に答える