Loop membaca file untuk upload ke dropbox

permisi suhu suhu semuanya saya sedang mengerjakan program dimana program ini akan mencari file dalam jpg, ketika file tersebut telah ditemukan maka akan otomatis terbaca dan langsung diupload pada dropbox, apabila tidak terbaca akan terus mencari. mungkin pengetahuan saya di bahasa ini belum paham atau mungkin logika saya yang kurang. mohon bimbingannya

 class TransferData:
    def __init__(self, access_token):
        self.access_token = access_token

    def upload_file(self, file_from, file_to):
        """upload a file to Dropbox using API v2
        """
        dbx = dropbox.Dropbox(self.access_token)

        with open(file_from, 'rb') as f:
            dbx.files_upload(f.read(), file_to)

def main():
	global count
	access_token = 'access_token'
	transferData = TransferData(access_token)
	while True:
		file_from = ("frame%d.jpg" % count)
		# print ("upload", file_from)
		file_to = ("/Motion Storage/frame%d.jpg" % count)
		count = count + 1
		transferData.upload_file(file_from, file_to)

	return main()
if __name__ == '__main__':
	main()

masalah disini program tidak berhasil looping sehingga program akan berhenti karena file tidak ditemukan. terimakasih

Traceback (most recent call last): File "D:\motion with API test.py", line 65, in <module> main() File "D:\motion with API test.py", line 60, in main transferData.upload_file(file_from, file_to) File "D:\motion with API test.py", line 42, in upload_file with open(file_from, 'rb') as f: FileNotFoundError: [Errno 2] No such file or directory: 'frame0.jpg'

avatar BelalangSembah
@BelalangSembah

3 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

Tanggapan

errornya apa mas yang tertulis

sudah diupdate mas maaf sebelumnya kurang lengkap @hilmanski

file frame0.jpg padahal ada ya mas? atau memang tidak ada?

memang tidak ada mas. jadi loop disini buat upload file jika ada, jika tidak ada program akan looping terus untuk mencari file baru.

mungkin saya kurang paham cara kerja python atau memang logika saya ga sampe mas :')

1 Jawaban:

Jawaban Terpilih

Coba pake try catch di dalem loopingnya, kalo ada exception di continue aja

<pre> def main(): global count access_token = 'access_token' transferData = TransferData(access_token) while True: try: file_from = ("frame%d.jpg" % count) # print ("upload", file_from) file_to = ("/Motion Storage/frame%d.jpg" % count)
count = count + 1 transferData.upload_file(file_from, file_to) except FileNotFoundError: continue

return main()

</pre>

avatar muhazrisofyan123
@muhazrisofyan123

6 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban