如果我想用python做这个,代码就像:
#!usr/bin/python
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
path = 'H:\\Dolly. - 。.〆bear小熊-葉鏗然-ω·)~☆ぼんじ'
print(path)
os.mkdir(path)
但是我尝试使用perl,它不起作用。
#!/usr/bin/perl
use File::Path;
use utf8;
path = 'H:\\Dolly. - 。.〆bear小熊-葉鏗然-ω·)~☆ぼんじ';
make_path(path );
答案 0 :(得分:3)
不幸的是,Perl在支持Windows方面非常糟糕。在这种情况下,这部分是由于Perl将文件名视为不透明的字节串而不是文本。因此,内置函数不使用(W)ide接口调用,因此您仅限于系统的“(A)NSI”编码。在大多数机器上,那是cp1252。
Win32::FindFile以CreateDirectoryW
的名称为CreateDirectory
提供了一个界面。
#!/usr/bin/perl
use utf8;
use Win32::FindFile qw( CreateDirectory );
my $dir = 'H:\\Dolly. - 。.〆bear小熊-葉鏗然-ω·)~☆ぼんじ';
CreateDirectory($dir)
or die $^E;
未经测试,但如果不起作用我会感到惊讶。