[OSGeoJapan-discuss] QGIS・pythonコンソール・エディタでの日本語ファイル名

Hiroshi Miura(@osmf) miurahr @ osmf.jp
2013年 11月 25日 (月) 19:54:12 PST


三浦です。

http://stackoverflow.com/questions/5855550/pythonencoding-and-execfile
2011年に同様の問題への回答が出ていました。

|import sys
fsenc = sys.getfilesystemencoding()
execfile(afile.encode(fsenc))|


とすべきという事なので、
+ fsenc = sys.getfilesystemencoding()
- self.parent.pc.shell.runCommand(u"execfile(r'{0}')".format(filename))
+ self.parent.pc.shell.runCommand(u"execfile(u'{0}'.encode(fsenc))".format(filename.replace("\\",
"/")))

とすると、どうでしょうか。

これならば、韓国語、中国語の環境でも動作スルことが期待されます。


On 2013年11月20日 12:26, ASAHI Kosuke wrote:
> 赤木さん
>
> 度々、詳細な解説をしていただき有難うございます。
> 提示していただいた書き換えで実行できることを確認しました。
>
> 少し整理して(出来なかったらそのまま。。)、不具合報告しておこうと思います。
>
> (2013/11/19 19:43), Minoru Akagi wrote:
>> 朝日さん
>>
>> execfileに与えるファイルパスの文字コードについて調べてみました。
>> <snip>
>>
>> 以上の結果をもとに朝日さんがご指摘の行を次のように書き換えてやれば私の環境では実行できるようになりましたが,この修正方法が最良か どうかはわかりません。
>> - self.parent.pc.shell.runCommand(u"execfile(r'{0}')".format(filename))
>> + self.parent.pc.shell.runCommand(u"execfile(u'{0}'.encode('sjis'))".format(filename.replace("\\",
>> "/")))
>>
>> ご参考になれば幸いです。
>>
>> 赤木 実
>

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20131126/09b1fcb9/attachment-0001.html>


More information about the OSGeoJapan-discuss mailing list