1

私はPythonスクリプトを持っており、test次の2行を使用して呼び出される新しいディレクトリに出力ファイルを生成するように記述しました。

self.mkdir_p("test") # create directory named "test"
file_out = open("test/"+input,"w")

mkdir_p 関数は次のとおりです。

def mkdir_p(self,path):
    try:
        os.makedirs(path)
    except OSError as exc:
        if exc.errno == errno.EEXIST:
            pass
        else: raise

これで、スクリプトを実行するすべてのファイルが というディレクトリに保存されましたstorage。私の質問は、ホームディレクトリからすべてのファイルを実行できるようにスクリプトを作成するにはどうすればよいかということですstorage(私の python スクリプトtestPythonスクリプトでコーディングしたように、すべての出力をディレクトリに保存しましたか?

私はbashで次のような素朴なアプローチをしました:

#!/bin/bash

# get the directory name where the files are stored (storage)
in=$1

# for files in (storage) directory
for f in $1/*

do

  echo "Processing $f file..."
  ./my_python_script.py $f

done

そしてそれは機能せず、IOErrorをスローしました:No such file or directory: 'test/storage/inputfile.txt'

私の問題を十分に明確に説明したことを願っています。

前もって感謝します

4

1 に答える 1

0

$fでありstorage/inputfile.txt、Pythonがその前に追加し、存在しないtest/ために文句を言います。test/storageディレクトリを作成するか、出力ファイル名を作成する前にディレクトリ部分を削除します。

于 2012-09-26T20:37:46.383 に答える