質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

4258閲覧

FilezillaでFTPログインできるが、Pythonのftplibでログインできない

Kiyo4180

総合スコア2

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/25 01:35

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
PythonでFTPでログインしたく試みています。Google Colabを使っています。
https://algorithm.joho.info/programming/python/ftp-file-upload-server/
を参考に以下のプログラムで自分のFTP上にファイルをアップしたいのですが以下のコードでその下のエラーが出ます。サーバーはCoreserverのレンタルサーバープランです。いつもはFilezillaを使い普通にFTPでログインできていますが、Pythonで以下のコードでログインを試みるとこのエラーがでます。なにか解決策が浮かぶ方はヒントを頂戴できませんでしょうか?

Python Google Colab使用 Visual Studio Codeも使用、でもエラーその際は別のエラー(ftplib.error_perm: 500 /PUBLIC HTML/**********.JPG not understood) Filezillaでのログインはいつも利用しており、ログイン可確認済み

発生している問題・エラーメッセージ

error_perm: 550 /public_html/*******.com/: Operation not permitted

該当のソースコード

# -*- coding: utf-8 -*- import ftplib def ftp_upload(hostname, username, password, upload_src_path, upload_dst_path): # FTP接続・アップロード ftp = ftplib.FTP(hostname) ftp.set_pasv("true") ftp.login(username, password) fp = open(upload_src_path, 'rb') ftp.storbinary(upload_dst_path ,fp) # 終了処理 ftp.close() fp.close() hostname = "s**.coreserver.jp" # 接続先サーバーのホスト名 upload_src_path = "/content/drive/My Drive/DSC_0569.JPG" # アップロードするファイルパス upload_dst_path = "STOR /public_html/*******.com/" # アップロード先のファイルパス username = "*******" # サーバーのユーザー名 password = "*******" # サーバーのログインパスワード ftp_upload(hostname, username, password, upload_src_path, upload_dst_path)

試したこと

添付の画像のCoreserverの説明書きを読み、
アップロード先のファイルパスを
STOR /public_html/
STOR /public_html
STOR /public_html/*******.com/
STOR /public_html/*******.com
STOR /*******.com/
STOR /*******.com

いずれも試しましたがいずれも
error_perm: 550 /public_html/*******.com/: Operation not permitted
もしくは
error_perm: 550 /public_html/*******.com/: Not a regular file
のエラーが出ます

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

同じ事象のようですがいかがでしょうか
Pythonのftplibを使って、TLSのFTPにファイルをアップしたい。

投稿2020/06/25 01:55

meli

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kiyo4180

2020/06/25 02:06

早速の回答ありがとうございます。 該当箇所を def ftp_upload(hostname, username, password, upload_src_path, upload_dst_path): # FTP接続・アップロード ftp = ftplib.FTP(hostname) ftp.set_pasv("true") ftp.login(username, password) ftp.prot_p() # switch to secure data connection fp = open(upload_src_path, 'rb') ftp.storbinary(upload_dst_path ,fp) # 終了処理 ftp.close() fp.close() に訂正し、実行しましたところ、今度は AttributeError: 'FTP' object has no attribute 'prot_p' のエラーが出てしまいました、、、。 念の為と思い、 import os import shutil import re import zipfile import ftplib import glob これらも追記しましたがエラー表記は変わらずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問