私は次のコードを持っています。私はどのようにエラーを押さえることができるか知りたいです。私はいくつかのGoogle検索を試みましたが、成功しませんでした。Python:FTP with 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を意味しました –