title, director, length (동영상의 길이 (분)) 속성을 갖는 클래스 Movie를 정의하는 프로그램을 작성하십시오. Movie 클래스의 5 개의 객체를 만들고 피클 링하여 파일에 저장합니다.Pickle이 작동하지 않아서 생성 된 txt 파일이 비어 있습니다.
#!/usr/local/bin/python
import pickle
class Movies:
def __init__(self,title,director,length):
self.x=title
self.y=director
self.z=length
def main():
movie1 = Movies(1,100,10)
movie2 = Movies(2,200,20)
movie3 = Movies(3,300,30)
movie4 = Movies(4,400,40)
movie5 = Movies(5,500,50)
main()
import pickle
try:
file=open("movies.txt","w")
fold =[movie1,movie2,movie3,movie4,movie5]
pickle.dump[fold,file]
except IOError:
print("file could not be open")
except ValueError:
print("could not make list")
except:
print("some unknown error")
else:
print("successfully done!")
finally:
print("printing always")
file.close()
모든 것이 제대로 작동하지만 movies.txt 파일이 비어 있습니다. 나는 파이썬에 익숙하지 않으므로 예외 처리에 대한 경험이 적다. 하지만 내가 이해 한 것에서는 절임이 작동하지 않습니다.
'pickle.dump [...]'는'pickle.dump (...)'이어야합니다 - 대괄호에주의하십시오. 나는 [이전 질문에 대한] 같은 조언을 (http://stackoverflow.com/questions/23008271/python-reverse-sentence-and-write-it-in-another-file) -' try 블록. 'try '로 모든 것을 감싼다면, 잘못되어 가고있는 것을 정확히 알아내는 것은 불가능합니다. 맨손으로 [except] (http://blog.codekills.net/2011/09/29/the-evils-of--except--/)를 읽으십시오. – jonrsharpe