私は2007 SharepointにファイルをアップロードするためのPython 2.7アプリケーションを開発中です。サーバーはOpenSUSEマシン上で実行されています。私が今これをやっているのは、curlコマンドを実行するためにPopenというサブプロセスを使うことです。しかし、ファイル名に特殊文字( 'á'、 'õ'、 'ç'など)があると、PythonはUnicodeEncodeErrorを発生させます。Pythonでの特殊文字の使用Popen call
私は、コマンド文字列をUnicodeにSTRからの変換
を強制することにより、Unicodeのエラーを回避することができますが、そのファイルは、(例えば、ManutençãoはManuten'c〜AOとなります)悪いの書式名でSharePointのために行きます。次の画像は、私が使用している機能の実装について説明しています:functions used
私はどのように進めるべきですか?
PS:私は要求の実行のためにcurlコマンドととどまることを好むだろうが、我々は
EDIT他のソリューションに開放している:はpycurlをしようとしませんでしたが、私はよそれを見てみましょう。サーバーを実行しているLinuxディストリビューションは3.11.10です。 実行フローは以下の通りです:Sharepointので
- UTF-8データベース
- からファイル名とパスを読むファイルの保存先のURLを選択してください
- はカール」に似たcurlコマンドを構築します - -ntlm -u USR:PWD --uploadファイルfilelocalPath fileSharepointUrlは(__execute_curl_cmd_and_wait関数のように)要求を行う(添付画像をご確認ください)
- 使用popenのをconvert_to_utf_8関数を使用 "
- を-k
pythonアプリケーションはどこで実行されますか(* nixまたはWindows)?あなたはpycurlを使用しようとしましたか? [mvce](https://stackoverflow.com/help/mcve)に従った詳細情報を提供してください。 –
いいえ、私はそれを試していない、私はそれを見てみましょう。私は自分の投稿を編集しました。助けて欲しいと願っています。 –
'Manutenção'を' Manuten'c〜ao'に変換すると、カールやPythonのように聞こえません。 Sharepointサーバーが名前を変更していないと確信していますか?カールが送信している正確なヘッダーは何ですか( 'curl -vv ... 'で見つかりました)? – Blender