[英]expected string got property instead
程式碼片段:
def copy_additional_files(self):
try:
for filetocopy in self.files_to_copy:
shutil.copy2(FileToCopy.get_source, FileToCopy.get_target)
except NotImplementedError:
logging.error('keep thinking')
raise EwaException
get_source
是一個返回字符串的@property
shutil.copy2
- shutil.copy2
需要一個字符串才能工作
我的IDE(PyCharm 4.0.6)告訴我,它期望一個字符串,但獲得了一個屬性。
那是個錯誤嗎? 一個屬性可以返回一個字符串,因此additional_file_source
也可以是一個字符串(按預期的方式),但是當我打印它時,它返回屬性對象的對象ID:
<property object at 0x....> <property object at 0x....>
並拋出:
“屬性”不支持緩沖接口
有沒有更簡單,更明顯的方法來執行此操作而沒有錯誤?
您是在類本身上調用屬性,而不是在循環內獲得的類實例上調用屬性。 它應該是:
for filetocopy in self.files_to_copy:
shutil.copy2(filetocopy.get_source, filetocopy.get_target)
(另外,請選擇更好的名稱; get_source
表示您調用的方法,該屬性應該只是source
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.