Tag: python

Python – re.findall返回不需要的结果

re.findall("(100|[0-9][0-9]|[0-9])%", "89%") 这只返回结果[89] ,我需要返回整个89%。 任何想法如何做到这一点?

lambda函数不closuresPython中的参数?

代码说话更多: from pprint import pprint li = [] for i in range(5): li.append(lambda : pprint(i)) for k in li: k() 产量: 4 4 4 4 4 为什么不 0 1 2 3 4 ?? 谢谢。 PS如果我写完整的装饰,它按预期工作: from pprint import pprint li = [] #for i in range(5): #li.append(lambda : pprint(i)) def closure(i): def _func(): pprint(i) return […]

为什么我不能用一个反斜杠结束一个原始string?

我很困惑,即使原始string将每个\转换为\\但是当这个\出现在最后它会引发错误。 >>> r'so\m\e \te\xt' 'so\\m\\e \\te\\xt' >>> r'so\m\e \te\xt\' SyntaxError: EOL while scanning string literal 更新: 现在, Python常见问题中也包含了这一点: 为什么原始string(rstring)不能以反斜杠结尾?

input():“NameError:名称'n'未定义”

好的,所以我正在写python的成绩检查代码,我的代码是: unit3Done = str(input("Have you done your Unit 3 Controlled Assessment? (Type y or n): ")).lower() if unit3Done == "y": pass elif unit3Done == "n": print "Sorry. You must have done at least one unit to calculate what you need for an A*" else: print "Sorry. That's not a valid answer." 当我通过我的python编译器运行它,我select"n" ,我得到一个错误说: “NameError:名称'n'未定义” 当我select"y"我得到另一个NameError […]

无法连接“str”和“float”对象?

我们的几何老师给了我们一个任务,要求我们创造一个玩具在现实生活中使用几何的例子,所以我认为做一个程序来计算需要多less加仑的水才能填满一定数量的池形状和一定的尺寸。 这是迄今为止的计划: import easygui easygui.msgbox("This program will help determine how many gallons will be needed to fill up a pool based off of the dimensions given.") pool=easygui.buttonbox("What is the shape of the pool?", choices=['square/rectangle','circle']) if pool=='circle': height=easygui.enterbox("How deep is the pool?") radius=easygui.enterbox("What is the distance between the edge of the pool and the center of […]

创build多个variables

我想在Python中创build10个variables(不是数组)。 像这样的东西: for i in range(1,10,1) variable i = 100 / i print variable i 我想创buildvariables名,在这种情况下: variable1 , variable2 , variable3 ,…, variable10我不想要一个数组 我有一个坐标图(640 x 480)。 我正在识别像素颜色为白色的坐标。 地球上有3个球,我想要得到每个球的中心坐标,所以如果被评估的坐标与最后一个坐标相近,那么x和y坐标将被平均,如果坐标属于新的球坐标属于一个新的坐标组将被评估。 p=0 h=0 for j in range(1,480,1): for i in range(1,640,1): c=cv.Get2D(image,j,i) if c[0] == 255: old_coord X = new_coord x new_coord x += [(i,j)] if (old_coord x […]

检查FTP服务器上的对象是使用Python和ftplib的文件或目录

使用Python和ftplib,我正在编写一个通用函数来检查FTP目录中的项目是文件还是目录。 由于使用MLSD函数可能不一定适用于所有的服务器(我的一个用例不提供),我已经采取了这种有效但粗糙的方式来确定它,试图改变目录到对象,如果对象是一个文件,引发一个exception,并相应地设置文件types。 file_type = '' try: ftp.cwd(item_name) file_type = 'dir' ftp.cwd(cur_path) except ftplib.error_perm: file_type = 'file' 我已经search了其他方法的互联网和图书馆文件,但我找不到在大多数情况下工作的。 例如,使用dir函数,我可以检查第一个字符是否是'd' ,这可能会确定它,但是进一步阅读已经指出并不是所有的输出格式都是相同的。 我在这个方法中看到的最大的缺陷是如果我没有权限将目录改变到指定的文件夹; 因此将被视为一个文件。 有什么我失踪或更干净的方式来做到这一点?

取一个JSONstring,将其解组成一个map interface {},编辑并将其编组成一个字节似乎更复杂,那么它应该是

我正在做非常基本的JSON操作来学习一些Go,它工作,除了一件事情似乎closures,我必须编写.(map[string]interface{})和.([]interface{})来访问JSON中的条目,特别是如果他们是儿童的孩子等等 看到这里(也在Go游乐场: https : //play.golang.org/p/Wd-pzHqTsU ): package main import ( "fmt" "encoding/json" ) func main() { JSON := []byte(`{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}`) fmt.Printf("%s\n", JSON) var d map[string]interface{} json.Unmarshal(JSON, &d) fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"]) d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"] = "change1" fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"]) JSON, _ = json.Marshal(d) fmt.Printf("%s\n", JSON) } 哪个返回: {"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]} c3val1 change1 {"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"change1"}}]} 现在在Python中,我直接访问键/值,而不是定义每次访问的types,而不是定义fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])您print d["key3"][0]["c2key1"]["c3key1"] Python示例: import json JSON = '{"key3": [{"c2key1": {"c3key1": "c3val1"}}], "key2": […]

使用%s的Python MySQL连接器数据库查询失败

我有一个基本的程序,应该查询包含用户信息的数据库。 我正在尝试为特定用户select信息并将其打印到控制台。 这是我的代码: import mysql.connector funcon = mysql.connector.connect(user='root', password='pass', host='127.0.0.1', database='fundata') funcursor = funcon.cursor() query = ("SELECT * FROM funtable WHERE userName=%s") uName = 'user1' funcursor.execute(query, uName) for (userName) in funcursor: print("{}".format(userName)) 我有用户名存储在一个variables,因为后来我打算从tkinterinput框中获取用户名。 当我执行这个代码时,我得到以下错误: mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version […]

Sqlite插入查询不与python?

我一直在尝试在python中使用下面的代码插入数据到数据库中: import sqlite3 as db conn = db.connect('insertlinks.db') cursor = conn.cursor() db.autocommit(True) a="asd" b="adasd" cursor.execute("Insert into links (link,id) values (?,?)",(a,b)) conn.close() 代码运行没有任何错误。 但是不会更新数据库。 我试图添加conn.commit()但它提供了一个错误,说没有find模块。 请帮忙?