文件夹路径中的编码问题
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 进行编码,然后对其进行解码
我有一个文件夹路径,其中有一些西里尔字母可以停止另一个脚本的进程。我需要一个没有西里尔字母的文件夹路径,但 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 进行编码,然后对其进行解码