‘default_encoding = sys.getdefaultencoding()’。
在这行前面添加三行,并且注释4行代码
#try:
# ctype = ctype.encode(default_encoding) # omit in 3.x!
#except UnicodeEncodeError:
# pass
else:
yield ctype
i += 1
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
default_encoding = sys.getdefaultencoding()
应该是编码的问题……说不定发送英文或者数字的能够正常呢?好吧,其实我也不太清楚
不过我关注的不是这个,而是放在文件夹下的方法太蛋疼了。
弄个拖动的吧,这样就可以放在%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo文件夹下,直接“发送到”了,getfile用于接收文件路径。
try:
#得到拖动的文件路径
getfile = sys.argv[1]except Exception, e:
#用正常方式打开
getfile = raw_input('输入完整路径获取附件(拖动文件到控制台窗口):')filename = os.path.basename(getfile)#从路径获取文件名
对了,别忘记把.py后缀改成.pyw,消除黑色窗口……
还有弄个
import ctypes#……#结束后弹出提示对话框text = filename + '\n' + 'Successfully sent to ' + msg['to']ctypes.windll.user32.MessageBoxA(0, text, '', 0)#……
来吧,可劲地折腾吧。