• 締切済み

Python os.system 日本語ファイル名 文字化け

python2.6 ubuntu 9.04 x64 ファイル文字コード UTF-8 # -*- coding: UTF-8 -*- import os, sys command = 'echo "あいうえお" > あああ.txt' os.system (command) このようにファイル出力すると、_____.txt と出力されます。 どのように解決するのでしょうか 直接 echo "あいうえお" > あああ.txt' とコマンドを打った場合は日本語ファイルが作成されます。 print sys.getfilesystemencoding() print sys.stdin.encoding print sys.stdout.encoding print sys.stderr.encoding print sys.getdefaultencoding() >UTF-8 >UTF-8 >UTF-8 >UTF-8 >ascii

みんなの回答

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

os.systemはC言語のsystem()を使ってプロセスを起動しますが、これは/bin/shを使います。 /bin/shがUTF-8ファイル名に対応していないか、対応する設定でないということでは? もし_____.txtの中身も正しい日本語になってないなら全くUTF-8を扱えないのかもしれませんけど。 subprocessモジュールのPopenとか使って環境変数を設定すれば何とかなるかと思います。起動するシェルも指定する必要があるかもしれませんけど。

関連するQ&A