我有一个python脚本,我编写了它,它将使用以下两行生成一个名为test
的新目录的输出文件:
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
的目录中,我的问题是,我如何编写一个脚本,以便我可以从我的主目录(我的 python 脚本所在的位置)运行storage
中的所有文件,并将所有输出保存到test
目录中,就像我在 python 脚本中编码的那样?
我在 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'
我希望我把我的问题解释得足够清楚。
提前致谢
$f
是storage/inputfile.txt
的,Python在前面加上test/
,然后抱怨test/storage
因为它不存在。创建目录,或在创建输出文件名之前剥离目录部分。