У меня есть следующий код, и я хочу знать, как можно подавить ошибку, я пробовал поиск в Google, но без sucess.python: FTP с TarFile
def backup_system(dirs):
""" Funcao para fazer backup das confs do systema """
os.walk("/")
try:
tar = tarfile.open("/home/backup/system/system_backup_%s.tgz" % today, "w:gz")
for dir in system_dirs:
tar.add(dir,recursive=True)
finally:
tar.close()
print tar
ftp_put(tar)
def ftp_put(file):
"""Funcao para fazer upload dos arquivos para FTP"""
conn = ftplib.FTP(ftp_server, backup_user, backup_password)
f = open(file, 'r')
conn.storbinary("STOR ", f)
try:
f = open(file, 'r')
conn.storbinary("STOR ", f)
f.close()
finally:
conn.quit()
Ну, это нормально, за исключением того факта, что этот код возвращает ошибку с ftplib. Он говорит, что ожидать str, но нашел tarfile. Большое спасибо.
Правильно, здесь ошибка:
Traceback (most recent call last):
File "/usr/local/bin/backup.py", line 89, in <module>
main()
File "/usr/local/bin/backup.py", line 78, in main
backup_system(system_dirs)
File "/usr/local/bin/backup.py", line 42, in backup_system
ftp_put(tar)
File "/usr/local/bin/backup.py", line 55, in ftp_put
f = open(file, 'rb')
TypeError: coercing to Unicode: need string or buffer, TarFile found
Можете ли вы опубликовать трассировку стека? Вы даже не указали, в какой строке произошла ошибка. Я предполагаю, что это строка 11. –
@ DontCare4Free да я могу, я отредактирую вопрос с ошибкой. Спасибо за ответ ! –
Упс, я имел в виду строку 17 –