我有一个脚本,我想为目录中的所有文件运行。我可以找到的所有示例都使用我知道不再适用于python 3.x的文件。
所以这是我在实现之前所尝试的:
import sys, os, cv2
path = 'C:\\Users\\telli\\Desktop\\Test Shapes\\Shapes\\Squares'
for filename in os.listdir(path):
for file in files:
if file.endswith('.jpg'):
os.system ('C:\\Users\telli\\Desktop\\test.py {}'.format(root + '\\' + file))
那么我该怎么改呢?我已经看过使用open
,但我确定不太确切。
你还能告诉我一行代码会遗漏主文件夹中的某个文件/文件夹吗?
我尝试过但没有任何反应:
import sys, os
path = 'C:\\Users\\telli\\Desktop\\Test Shapes\\Shapes\\Squares'
for file in os.listdir(path):
if file.endswith('.jpg'):
img = cv2.imread(file)
#print(img)
#Converting the image to Grayscale
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(grey,127,255,1)
im2,contours, h = cv2.findContours(thresh, 1, cv2.CHAIN_APPROX_SIMPLE)
contours.sort(key = len)
cv2.imshow('img',img)
cv2.waitKey(0)
#os.system('C:\\Users\telli\\Desktop\\test.py {}'.format(root + '\\' + file))
由于
答案 0 :(得分:0)
尝试glob模块。
import glob
path = 'C:/Users/telli/Desktop/Test Shapes/Shapes/Squares'
filenames = glob.glob(path + '/*.gif')
for filename in filenames:
# Do something
要遗漏文件:
e.g。
>>ls
this_is_a_good_file.gif
this_is_a_good_file_2.gif
this_is_a_bad_file.gif
glob.glob(path + '/*good*.gif')
将排除'this_is_a_bad_file.gif'