Invalid Syntax error in face recognition

import cv2
import numpy as np

Initiate camera

cap = cv2.VideoCapture(0)
face_cascade = cv2.CascadeClassifier(‘haarcascade_frontalface_alt.xml’)
skip = 0
face_data = []
dataset_path =‘D:\Java_Projects\Machine Learning’
face_section =[]
filename = input("enter name ")
while True:
ret,frame = cap.read()

if ret == False:
    continue
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(frame,1.3,5)
faces = sorted(faces,key=lambda f:f[2]*f[3])

for face in faces[-1:]:
    x,y,w,h = face
    cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,255),2)


    offset = 10
    face_section = frame[y-offset:y+h+offset,x-offset:x+w+offset]
    #face_section = cv2.resize(face_section,(100,100))

skip +=1
if skip%10 ==0 :
    face_data.append(face_section)
    print(len(face_data))

cv2.imshow("frame",frame)
cv2.imshow("face_section",face_section)

key_pressed = cv2.waitKey(1) &0xFF
if key_pressed == ord('q'):
    break

face_data = np.asarray(face_data)
face_data = face_data.reshape((face_data.shape([0],-1))
print(face_data.shape())

np.save(dataset_path+filename+’.npy’,face_data)
print(“data saved”)
cap.release()
cap.destroyAllWindows()

This is my code.
I am getting an invalid syntax error on the print(face_data.shape()) line. If i comment that line the invalid syntax error goes to the np.save line.
I am unable to figure this out .
Please help.