سؤال

لقد غوتشن ولكن يمكنني العثور على كيفية تحميل ملف واحد ... وأنا أحاول تحميل كافة الملفات من الدليل المحلي إلى دليل FTP البعيد. أي أفكار كيفية تحقيق هذا؟

هل كانت مفيدة؟

المحلول

مع الحلقة؟

تعديل: في حالة Universal Case تحميل الملفات فقط ستبدو مثل هذا:

import os
for root, dirs, files in os.walk('path/to/local/dir'):
    for fname in files:
        full_fname = os.path.join(root, fname)
        ftp.storbinary('STOR remote/dir' + fname, open(full_fname, 'rb'))

من الواضح أنك تحتاج إلى البحث عن تصادمات الاسم إذا كنت تحافظ فقط على أسماء الملفات مثل هذا.

نصائح أخرى

ينظر الى Python-Servictlines المطلوبة لإجراء تحميل ملفات من JSON-Call التالى العملية FTPLIB: لماذا بعض عمليات التحميل، ولكن الآخرين لا؟

على الرغم من موقف البداية المختلفة من سؤالك، في إجابه من هذا عنوان URL الأول الذي تراه مثالا للبناء لتحميل بواسطة FTPLIB A JSON-FILE بالإضافة إلى ملف XML: انظر إلى Scriptline 024 وأكثر من ذلك.

في عنوان URL الثاني، ترى بعض الجوانب الأخرى المتعلقة بتحميل المزيد من الملفات.

ينطبق أيضا على أنواع الملفات الأخرى من JSON و XML، بوضوح مع "إدخال" مختلف قبل الأقسام الأخيرة التي تحدد وتحقيق وظيفة FTP_UPLOAD.

قم بإنشاء ملف دفعي FTP (مع قائمة الملفات التي تحتاج إلى نقلها). استخدم Python لتنفيذ FTP.EXE مع خيار "-s" وتمرير قائمة الملفات.

هذا هو KLudgy ولكن يبدو أن FTPLIB لا يقبل ملفات متعددة في الأمر المتاجر.

هنا هو ملف دفعة FTP عينة.

*

OPEN inetxxx 
myuser mypasswd 
binary 
prompt off 
cd ~/my_reg/cronjobs/k_load/incoming 
mput *.csv 
bye
  • إذا كانت المحتويات المذكورة أعلاه في ملف يسمى "abc.ftp" - ثم يكون أمر FTP الخاص بي

    FTP -S ABCHFTP.

امل ان يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top