Sop*_*phy 7 python windows python-2.x
我编写Python脚本来复制文件; 不幸的是它因为文件名太长(> 256)而一直失败.无论如何要处理这个问题?
我正在使用Python 2.5.4和Windows XP.
干杯,
为了使用\\?\前缀(如已经提出的那样),还需要确保使用Unicode字符串作为文件名,而不是常规(字节)字符串.
小智 5
对于在这里寻找解决方案的其他人:
\\?\按照前面的说明添加前缀,并确保字符串是unicode;你必须写一些类似的东西:
def remove_dir(directory):
long_directory = '\\\\?\\' + directory
shutil.rmtree(long_directory, onerror=remove_readonly)
def remove_readonly(func, path, excinfo):
long_path = path
if os.sep == '\\' and '\\\\?\\' not in long_path:
long_path = '\\\\?\\' + long_path
os.chmod(long_path, stat.S_IWRITE)
func(long_path)
Run Code Online (Sandbox Code Playgroud)
这是 Python 3.x 的示例,因此所有字符串都是 unicode。
| 归档时间: |
|
| 查看次数: |
5338 次 |
| 最近记录: |