在这篇文章中,我们将带领您了解为什么在Python2.7中自愿使用印刷括号?的全貌,包括python为什么要加引号的相关情况。同时,我们还将为您介绍有关importpyttsx在python2.7中工
在这篇文章中,我们将带领您了解为什么在Python 2.7中自愿使用印刷括号?的全貌,包括python为什么要加引号的相关情况。同时,我们还将为您介绍有关import pyttsx在python 2.7中工作,但不在python3中、python 2.7使用腾讯云的OCR-通用印刷体识别、Python-为什么在Python中append()总是返回None?、scala – 为什么在括号上使用花括号?的知识,以帮助您更好地理解这个主题。
本文目录一览:- 为什么在Python 2.7中自愿使用印刷括号?(python为什么要加引号)
- import pyttsx在python 2.7中工作,但不在python3中
- python 2.7使用腾讯云的OCR-通用印刷体识别
- Python-为什么在Python中append()总是返回None?
- scala – 为什么在括号上使用花括号?
为什么在Python 2.7中自愿使用印刷括号?(python为什么要加引号)
在Python 2.7中,以下两者将执行相同的操作
print("Hello,World!") # Prints "Hello,World!"
print "Hello,World!" # Prints "Hello,World!"
但是以下内容不会
print("Hello,","World!") # Prints the tuple: ("Hello,"World!")
print "Hello,"World!" # Prints the words "Hello,World!"
在Python 3.x中,圆括号print
是强制性的,本质上使其成为一个函数,但是在2.7中,两者都可以使用不同的结果。我print
在Python
2.7中还应该了解什么?
import pyttsx在python 2.7中工作,但不在python3中
细节:
我在Raspbian Wheezy的树莓派上做这个
在python 2.7下,以下工作:
>>> import pyttsx
在python3下,会发生以下情况:
>>> import pyttsx Traceback (etc...) File "<stdin>",line 1,in <module> File "/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg/pyttsx/__init__.py",line 18,in <module> ImportError: No module named engine
我安装并使用了sudo pip install pyttsx
我已经导入了sys
sys.path包含这个……
>>> print (sys.path) ['','/usr/local/lib/python3.2/dist-packages/setuptools-5.4.1-py3.2.egg','/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg','/usr/lib/python3.2','usr/lib/python3.2/plat-linux2','/usr/lib/python3.2/lib-dynload','/usr/local/lib/python3.2/dist-packages','/usr/lib/python3/dist-packages']
ls /usr/local/lib/python3.2/dist-packages导致…
easy-install.pth pyttsx-1.1-py3.2.egg setuptools-5.4.1-py3.2.egg setuptools.pth
unzip -t /usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg显示….
pyttsx/__init__.py OK pyttsx/voice.py OK pyttsx/engine.py OK (etc...) No errors detected in compressed data of pyttsx-1.1-py3.2.egg
谢谢你的帮助!
解决方法
pyttsx3
这个python3兼容版本现在打包在pypi中,对python2和python3都很好用,据我测试过,它没有给出任何错误.
只需使用:
pip install pyttsx3
用法:
import pyttsx3 engine = pyttsx3.init() engine.say("I am talking Now "); engine.setProperty('rate',100) engine.runAndWait();
python 2.7使用腾讯云的OCR-通用印刷体识别
由于公司需要识别发票信息并录入到公司内部系统,故使用了腾讯云的OCR-通用印刷体识别
腾讯云的通用印刷体识别是1000/月的免费次数,对于需求不高的发票识别是比较友好的。
以下是接口链接
https://cloud.tencent.com/document/product/866/17600
以下是参考链接
https://www.cnblogs.com/d-l-k/p/8758555.html
以下为我的项目架构
以下为正文
#!/usr/bin/python2.7
# _*_ coding: utf-8 _*_
"""
@Author: MarkLiu
"""
import requests
import hmac
import hashlib
import base64
import time
import random
import re
appid = "" # https://console.cloud.tencent.com/cam/capi 中的APPID
bucket = "" # 随意写一个就好
secret_id = "" # https://console.cloud.tencent.com/cam/capi 中的SecretId
secret_key = "" # https://console.cloud.tencent.com/cam/capi 中的SecretKey
expired = time.time() + 2592000
onceExpired = 0
current = time.time()
rdm = ''''.join(random.choice("0123456789") for i in range(10))
userid = "0"
fileid = "tencentyunSignTest"
info = "a=" + appid + "&b=" + bucket + "&k=" + secret_id + "&e=" + str(expired) + "&t=" + str(current) + "&r=" + str(rdm) + "&u=0&f="
signindex = hmac.new(secret_key, info, hashlib.sha1).digest() # HMAC-SHA1加密
sign = base64.b64encode(signindex + info) # base64转码
url = "http://recognition.image.myqcloud.com/ocr/general"
headers = {''Host'': ''recognition.image.myqcloud.com'',
"Authorization": sign,
}
files = {
''appid'': (None, appid),
''bucket'': (None, bucket),
''image'': (''new_scan_doc01075720181122112953_001.jpg'', open(''C:\\Users\\Administrator\\PycharmProjects\\untitled\\untitled\\mysite\\static\\new_scan_doc01075720181122112953_001.jpg'', ''rb''), ''image/jpeg'')
}
r = requests.post(url, files=files, headers=headers)
responseinfo = r.content
responseinfo = responseinfo.decode(''utf-8'') # 解决中文乱码
r_index = r''itemstring":"(.*?)"'' # 做一个正则匹配
result = re.findall(r_index, responseinfo)
for i in result:
print i
之后运行文件,输入python aa.py runserver即可识别
基本都可以识别出来,如需线上使用提供接口即可
Python-为什么在Python中append()总是返回None?
list = [1, 2, 3]print list.append(4) ## WRONG, print does not work, append() returns None## RIGHT:list.append(4)print list ## [1, 2, 3, 4]
不确定此问题是否特定于该语言以及如何append
在Python
中实现。
答案1
小编典典append是一种变异(破坏性)操作(它会在适当位置修改列表,而不是返回新列表)。进行无损等效的惯用方式append是
l = [1,2,3]print l + [4] # [1,2,3,4]print l # [1,2,3]
回答你的问题,我的猜测是,如果append
返回新修改的列表,用户可能会认为它是非破坏性的,即他们可能会编写如下代码
m = l.append("a")n = l.append("b")
并期望n
成为[1,2,3,"b"]
scala – 为什么在括号上使用花括号?
例:
lst foreach (x => println(s"the value returned is: $x")) // parens lst foreach {x => println(s"you get the idea,$x")} // braces
我知道你可以使用大括号作为括号的替代,只是因为它允许你在多行上写一个语句:
val res = for { x <- coll1 y <- coll2 } yield (x,y)
>所以当它写在一行上时,是否有任何固有的理由使用一个而不是另一个?
>结果最终应该是一样的,还是我错过了什么?
>或者仅仅是风格和/或个人品味的问题?
解决方法
当它写在一行上时,是否有任何固有的理由使用一个而不是另一个
在第二种情况下,它不仅仅是花括号,而不是括号,它是带有括号括号的花括号. Scala允许你有时省略括号,后面的语法用于访问你在部分函数中得到的细节(即模式匹配),所以
lst foreach {x => println(s"you get the idea,$x")}
实际上是
lst foreach({x => println(s"you get the idea,$x")})
正如我所说,它可以从模式匹配POV中获得:
val map = Map("foo" -> "bar") map foreach { case (k,v) => println(s"key: $k,value: $v") } // which is not possible with the usual parenthesis
我们今天的关于为什么在Python 2.7中自愿使用印刷括号?和python为什么要加引号的分享已经告一段落,感谢您的关注,如果您想了解更多关于import pyttsx在python 2.7中工作,但不在python3中、python 2.7使用腾讯云的OCR-通用印刷体识别、Python-为什么在Python中append()总是返回None?、scala – 为什么在括号上使用花括号?的相关信息,请在本站查询。
本文标签: