|
|
|
|
 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-22 11:06 | 151 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-22 16:02 | 32 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-22 19:12 | 36 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-24 15:40 | 84 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-24 17:57 | 127 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-25 09:29 | 146 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-25 11:21 | 319 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-25 14:39 | 148 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - passworld [ 2005-02-25 15:31 | 147 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-25 15:54 | 132 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-25 15:56 | 104 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-25 17:47 | 683 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-28 14:09 | 425 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-28 15:02 | 455 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - xiefengming [ 2005-02-28 15:39 | 269 byte(s)]
 Re: 大家好!请教一个自动删除文件的问题 - limodou [ 2005-02-28 17:34 | 321 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
谢谢
我在传入的是“c:111111政协界面.jpg”但获得的是“C:/111/111/xd5xfexd0xadxbdxe7xc3xe6.jpg”我怎么转回来,我用.encode('gb2312')好像不行。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我现在用的是代码去访问它,它报错。
No such file or directory: 'C:/111/111/xd5xfexd0xadxbdxe7xc3xe6.jpg'
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
请注意,系统报的是字符串的内部表示,在交互环境你可以这样试:
a='中国'
print repr(a)
print a
你会看到第一个输出与你看到的差不多,前后都有一个单引号,它表示输出的是字符串在内存中的字节码是什么。而第二个输出是显示的结果,不带单引号。
而汉字是两字节码,且最高位为1,这样用一般的ascii是显示不了的(一般的ascii码最高位为0),因此python会用xNN的形式来显示这些ascii码。
真正的问题Zope已经 已经报给你了,是说“没有这样的文件或目录”,与显示的结果没什么关系。看一看你的文件存在吗?而且要注意你的文件名也是有编 码的,看一看两者的编 码是否正确。
处理汉字随时可能要想到编 码的问题 。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我将传入的参数file
file = str(file)
file = file.encode('utf-8')
filename = file.replace('\','/')
zope报错:
Error Type: UnicodeDecodeError
Error Value: 'ascii' codec can't decode byte 0xc9 in position 14: ordinal not in range(128)
我将file转换成unicode的:
file.decode('gb2312')
但是系统报错,说没有命名gb2312。我的转换正确吗?
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
建议你还是先了解一个unicode, string之间的区别吧。因为我发现你的基本概念还不具备。
unicode和string根本不是不同的东西,它们的方法也是不同的。
unicode有encode方法,而没有decode方法。
string有decode方法而没有encode方法。
看一看你的代码:
file = str(file)
这样file是一个string
file = file.encode('utf-8')
因为string没有encode方法,因此报错。encode是unicode才有的方法。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
谢谢,你的建议是正确的,我改正后还是报错误。
好像传入的file不是Unicode的
Error Type: UnicodeDecodeError
Error Value: 'ascii' codec can't decode byte 0xc9 in position 14: ordinal not in range(128)
我怎么将string转化成Unicode呢?谢谢!
|
|
[Original]
[Print]
[Top]
|
|
|