我正在用getopt編寫一個ftp上傳器。如果使用fullname = 'file.jpg'
全部是好的,但如果不fullname = newfiles
轉身返回錯誤通知:Python ftp上傳bug:沒有屬性'rfind'
AttributeError: 'list' object has no attribute 'rfind'
也許我的應用程序沒有權限發送的文件嗎?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import getopt
import ftplib
import os
def usage():
print "Home"
#if __name__ == "__main__":
try:
opts, args = getopt.getopt(sys.argv[1:], "uhc", ["upload=", "help", "connect"])
except getopt.GetoptError:
usage()
sys.exit(2)
if opts == []:
usage()
for opt, arg in opts:
if opt in ("-h", "--help"):
usage()
elif opt in ("-u", "--upload"):
newfile = args
if not file:
print "Nie wybrano pliku!"
else:
print "Wybrany plik",newfile
ftp = ftplib.FTP()
ftp.connect('host')
ftp.login('user', 'pass')
ftp.cwd('./')
print "Wybieram:", ftp.pwd()
print "Wgrywam"
fullname = newfile
name = os.path.split(fullname)[1]
f = open(fullname, "rb")
ftp.storbinary('STOR ' + name, f)
f.close()
print "OK"
print "Files:"
print ftp.retrlines('LIST')
ftp.quit()
elif opt in ("-c", "--connect"):
print "a"
如果改變UHC到u:HC不會轉向我,如果 如果沒有文件: 「聶wybrano pliku」 \t \t \t打印 \t \t其他: \t \t \t打印 「Wybrany plik」,文件 如果空視圖的使用(),爲什麼? – Grz3siu
請以您如何致電您的劇本爲例進行評論。我編輯了我的答案來嘗試和幫助。您的「if note file:」語句是否仍然與您問題中的當前代碼相匹配,或者它是否已經更改? – robdjc