現在、3DプリンタにビルドされているFTPサーバーにディレクトリからファイルをアップロードするPythonスクリプトで作業しています。アップロードとFTPのすべてが動作しますが、私はスクリプトのためにやるべき特定のタスクがあります。私は開始ディレクトリに多くのファイルをダンプしたい。だから、のように行く:古い名前の一部を使用している間に、古い名前の一部を使用しながら、Pythonでファイル名を変更します。
- 1474lapfab.tgz
- 1475lapfab.tgz
- ... lapfab.tgz
- ..........
私が欲しいです最初のファイルを取得して名前を変更するスクリプトは、ftpサーバにlapfab.tgz(lapfab.tgzがプリンタが反応するファイル名であるため、この名前でなければならない)を送信するだけです。しかし、ここに特定の部分があります。私は最初に番号を保持する新しい変数が欲しいので、プリンタが現在作業しているプロジェクトの現在の数を表示することができます。
マイコードこれまで
# -*- coding: cp1252 -*-
#geschrieben in Python 2.7.1
#Drucker Rechts
import ftplib
import os
meinftp = ftplib.FTP("192.168.178.178")
meinftp.login("anonymous")
directory = '/data/todo/' #Ftp Main Directory
meinftp.cwd(directory) #Login to right ftp directory
directory_local='/home/pi/testprogramme/python/' #Local upload directory
filename = 'lapfab.tgz'
print "Open file"
print
file = open(directory_local+filename, 'rb') #Open file in Binary
print "Upload File"
meinftp.storbinary('Stor '+filename, file) #File Transfer
print
print "Upload Complete"
print
print 'The local File ' + filename +' will close.'
file.close()
print
print meinftp.quit() #Kill Conection
print
print 'FTP-Connection cut.'
os.remove('lapfab') #Deleting the main File from server
print
print "Deleting Main File from Server"
誰かがここでの私の仕事が終わっgehtから右のトラックに私を送ることができれば、それは素晴らしい以上になります!
おはようございます。
よろしくエディ=)
EDIT:
#!/usr/bin/python
# -*- coding: cp1252 -*-
#geschrieben in Python 2.7.1
#Drucker Rechts
import ftplib, os, re, fnmatch
meinftp = ftplib.FTP("192.168.178.178")
meinftp.login("anonymous")
directory = '/data/todo/' #Ftp Main Directory
meinftp.cwd(directory) #Login to right ftp directory
directory_local='/home/pi/testprogramme/python/' #Local upload directory
filename = 'lapfab.tgz'
# Capture the matching files.
file_pattern = "*%s" % filename
matches = sorted([local_filename for local_filename in os.listdir(directory_local) \
if fnmatch.fnmatch(local_filename, file_pattern)])
if len(matches) < 0:
# Don^^ t process anything, no files
exit()
# Extract the variable
regex = r"([0-9]+)%s" % filename
match = re.search(regex, matches[0])
# Do something with the file.
print("Uploading job %s." % match.group(1))
full_path = os.path.join(directory_local,matches[0])
# Upload the file etc here.
print "Open file"
print
file = open(full_path, 'rb') #Open file in Binary
print "Upload File"
meinftp.storbinary('Stor '+filename, file) #File Transfer
print
print "Upload Complete"
print
print 'The local File ' + filename +' will close.'
file.close()
print
print meinftp.quit() #Kill Conection
print
print 'FTP-Connection cut.'
os.remove(full_path) #Deleting the main File from server
print
print "Deleting Main File from Server"
print
print "The File" +full_path+ " was transfered to the Right Printer"
print
print
print "End!"
print
が、私は実行するために第2のスクリプトを使用:あなたはこのようなものは、次のコードを使用したいと思います場合
私は、作品これはボタンプッシュで。それは魅力のように機能し、今から私の仕事がより効率的になるのを助けます。 助けてくれてありがとう。素敵なコーディングがあります。 よろしく、 エディ=)
'os.remove( 'lapfab')'はおそらく、その横にあるコメントには何もしません。 –
あなたは部分的に正しいです。それはうまくいくが、コメントは誤解を招く。コメントをドイツ語から英語に翻訳して間違えました。プリンターのサーバーからメインファイルを削除することはありません。 pi自体のメインファイルを削除します。私は唯一のプリンタ上のファイルが必要とpi =ではない) – Eddie