是否可以在Python中访问GetLongPathName()Win32 API?

时间:2009-10-19 09:49:39

标签: python windows

我需要将8.3约定中的路径转换为完整路径。 在Perl中,我可以在Win32::GetLongPathName()中指出How do I get full Win32 path from 8.3 DOS path with Perl?但是,我需要在Python中使用它。

2 个答案:

答案 0 :(得分:7)

使用Python标准中提供的ctypes,而无需使用pywin32 API。像这样:

from ctypes import *

buf = create_unicode_buffer(260)
GetLongPathName = windll.kernel32.GetLongPathNameW
rv = GetLongPathName(path, buf, 260)
print buf.value

来自http://mail.python.org/pipermail/python-win32/2008-January/006642.html

答案 1 :(得分:4)

使用win32file

中的GetLongPathName功能
import win32file
print win32file.GetLongPathName(r'C:\progra~1')

输出:

C:\Program Files