우분투 12.04에서 셸 스크립트를 사용하여 파이썬 파일을 실행하려고합니다. 이 일을 위해, 나뿐만 아니라 다른 실수가 있다면 그래서 내가 참아주세요, I, 스크립트에 새로운 오전 link셸 스크립트를 사용하여 디렉토리의 파일을 반복합니다. 우분투
#!/bin/bash
file_path=/home/itachi/LN_project/cover_image
for f in $file_path
do
python Question2_lsbreplacement_encode.py $f message_2.txt 0.7
done
의 도움으로, 다음과 같은 코드가 있습니다. 입력을 환영합니다. 다음과 같은 오류가 발생합니다.
Traceback (most recent call last):
File "Question2_lsbreplacement_encode.py", line 26, in <module>
img = Image.open(imgname) # reading image
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1955, in open
fp = __builtin__.open(fp, "rb")
IOError: [Errno 21] Is a directory: '/home/itachi/LN_project/cover_image'
기본적으로 나는 경로를 명시 적으로 언급하고 싶지 않습니다. 폴더 이름과 현재 작업 디렉토리를 연결하고 싶습니다. 내가 어떻게 할 수 있는지 말해 줄 수 있니?
항상 파일 이름을 따옴표로 묶어야합니다. 즉, $ f 대신 "$ f"를 사용하는 것이 좋습니다. –
감사합니다 @MichaWiedenmann. 하지만 여전히 같은 오류가 발생합니다. 위와 같이 작은 따옴표로 표시합니다. –
cover_image/*에서 f와 같이 루프를 사용해야합니다. do ... "$ f"...; 다. 그게 당신이 요구하는 것 같아요 (그리고 기계를 통해 휴대용입니다). –