文件夹路径中的编码问题

Coding issue in folder path

我有一个文件夹路径,其中有一些西里尔字母可以停止另一个脚本的进程。我需要一个没有西里尔字母的文件夹路径,但 python 没有 return。

文件夹是C:\Users\PereverzevPV\Documents\Инв

我有:

import os
folder = os.getcwd()
print folder

无论我设置什么编码,输出都是空的。我需要得到

'C:\Users\PereverzevPV\Documents\\xd0\x98\xd0\xbd\xd0\xb2'

这可能会有所帮助。您的问题是,您没有转义 \\U\P\D 不是有效的 utf-8 字符。

# coding: UTF-8

txt = r"C:\Users\PereverzevPV\Documents\Инв"
txt = "C:\Users\PereverzevPV\Documents\Инв"

esc_txt = txt.encode('utf-8')

print(esc_txt)

如果您以 unicode 传递文件路径,那么 return 也将以 unicode 传递:

>>> for dirpath, dirnames, filenames in os.walk(u"D:\SO"):
    print dirnames


[u'\u0142', u'\u0418\u043d\u0432']

也许您可以使用它,然后根据需要重新组装路径。

试试这个:

# coding: UTF-8

import os

os.getcwd().encode('utf-8').decode('utf-8')

我们需要对 CWD 进行编码,然后对其进行解码