Chinaunix

标题: python print 无输出 [打印本页]

作者: zengbo1019    时间: 2011-07-20 17:18
标题: python print 无输出
本帖最后由 zengbo1019 于 2011-07-20 17:20 编辑

python2.7
windows中

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import logging
if __name__=='__main__':
   path = 'c:/Program Files'
   print('对方的身份的:%s'%path+'/LOG')
   print('hello world')

运行无输出
注释掉 第二、三行就可以
为什么啊
作者: cnff    时间: 2011-07-20 17:50
我试了一下,可以输出。
不过我的是redhat+python2.6
作者: 杨奇龙    时间: 2011-07-20 18:56
试了,和lz的一样。
作者: ccporxy    时间: 2011-07-21 09:31
python2.5 一样 不能输出
不过看了下过程,发现reload(sys)之后,sys行为变得非常奇怪。
id(sys),以及type 都未有显示, __str__,__rper__也一样。
建议你查看下python的源码了。
作者: zengbo1019    时间: 2011-07-21 09:37
回复 2# cnff


    对啊在linux系统中是可以的  放windows中就不行了
作者: mercuyr    时间: 2011-07-21 09:46
path = 'c:/Program Files'  改成 path = r'c:/Program Files' ?
作者: 李营长    时间: 2011-07-21 10:08
楼主忽略了UNICODE,把ASCII直接传给UTF-8,显示有问题是正常的。看我在WIN7下2.7的结果。


Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 b
32
Type "help", "copyright", "credits" or "license" for more info
>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf-8')
>>> import logging
>>> path = u'C:\program files'
>>> print(u'对方的身份的:%s'%path+u'\LOG')
对方的身份的:C:\program files\LOG
>>> print('hello world')
hello world
>>>
作者: ccporxy    时间: 2011-07-21 12:27

  1. >>> import sys
  2. >>> sys.path
  3. ['C:\\Python25\\Lib\\idlelib', 'e:\\python', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages']
  4. >>> reload(sys)
  5. >>> sys
  6. >>> sys.path
  7. >>> type(sys)
  8. >>> sys.__class__
  9. >>>
复制代码
问题的原因明显是这个,谁能解释下嘛!
作者: 李营长    时间: 2011-07-21 13:27
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\
\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27
', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\PIL']
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.path
['', 'C:\\windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\
\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27
', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\PIL']
>>>
2.7的。不存在楼上的问题。
作者: zengbo1019    时间: 2011-07-21 22:26
回复 9# 李营长
看我的 是这样
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.path
['C:\\Python27\\Lib\\idlelib', 'C:\\Python27\\lib\\site-packages\\zope.interface-3.6.3-py2.7-win32.egg', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin']
>>> reload(sys)
>>> sys.path
>>> print 'hello'
>>> print u'hello'
>>> sys.setdefaultencoding('utf-8')
>>> print 'helll
SyntaxError: EOL while scanning string literal
>>>
>>> print 'helll'
>>>




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2