相关疑难解决方法(0)

如何在Windows上安装pip?

pip是一个替代品easy_install.但是我应该在Windows上安装pip使用easy_install吗?有没有更好的办法?

python windows installation pip easy-install

2469
推荐指数
25
解决办法
292万
查看次数

Unicode文件名到python subprocess.call()

我正在尝试使用unicode文件名运行subprocess.call(),这里是简化的问题:

n = u'c:\\windows\\notepad.exe '
f = u'c:\\temp\\nèw.txt'

subprocess.call(n + f)
Run Code Online (Sandbox Code Playgroud)

这提出了一个着名的错误:

UnicodeEncodeError:'ascii'编解码器不能编码字符u'\ xe8'

对utf-8进行编码会产生错误的文件名,而mbcs会将文件名作为new.txt传递而不需要重音

我只是无法阅读这个令人困惑的主题并旋转圈.我在这里找到了很多不同问题的答案,所以我想加入并自己寻求帮助

谢谢

python unicode subprocess call

10
推荐指数
3
解决办法
1万
查看次数

如何在Python 2上使用带有unicode命令的psutil.Popen

嘿我正在尝试执行以下命令(使用psutil.Popen和python 2.7):

"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" "C:\docs\?.xlsm"
Run Code Online (Sandbox Code Playgroud)

使用此代码:

dir = u"C:\\docs"
doc = os.listdir(dir)[0]
full_path = os.path.join(dir, doc)
command = u"\"C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\EXCEL.EXE\" \"{}\"".format(full_path)
process = psutil.Popen(command)
Run Code Online (Sandbox Code Playgroud)

但我得到了这个例外:

    process = psutil.Popen(command)
  File "C:\Python27\lib\site-packages\psutil\__init__.py", line 1370, in __init__
    self.__subproc = subprocess.Popen(*args, **kwargs)
  File "C:\Python27\lib\subprocess.py", line 390, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
    startupinfo)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u05ea' in position 102: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我找到了这个相关的问题: subprocess.Popen有一个unicode路径.但是每一个给出的答案都不适用于我.

使用subprocess.Popen(command.encode(locale.getpreferredencoding()))会抛出以下异常:

Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python windows subprocess python-2.x psutil

8
推荐指数
1
解决办法
332
查看次数

Python子进程check_output解码特殊字符

我有一些python编码的问题.当我尝试执行此操作时:

subprocess.check_output("ipconfig", shell=True)
Run Code Online (Sandbox Code Playgroud)

它给了我一个带有特殊字符的输出,比如:

"Statut du m\x82dia"
"M\x82dia d\x82connect\x82"
Run Code Online (Sandbox Code Playgroud)

(我是法国人)

当我尝试用最后一个解码.decode()时,它给了我这个错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 78: invalid start byte
Run Code Online (Sandbox Code Playgroud)

我尝试使用.decode("utf-8"),我玩了几个小时的编码和解码,我找不到答案.我在互联网上看到的一切都没有用.也许我只是愚蠢,但嘿.我该怎么做才能摆脱那些解码错误并将我的特殊字符打印出来?

谢谢.

python subprocess character-encoding special-characters python-3.x

5
推荐指数
1
解决办法
3267
查看次数