如何将db中的值与python中文件名的子字符串匹配

哈比卜·乌尔·拉赫曼

我正在尝试从 db 中获取 user_name + Father_name 并与目录中文件名的子字符串匹配。然后如果文件存在则更新数据库中的值。如何做到这一点。请不要将其标记为已问过。我需要答案。

到目前为止我已经尝试过

数据看起来像这样

file_names = ['amanatta.0.jpg', 'amanatta.1.jpg', 'amanatta.10.jpg', 'amanatta.11.jpg', 'amanatta.12.jpg',
                   'amanatta.13.jpg', 'amanatta.14.jpg', 'amanatta.15.jpg', 'amanatta.16.jpg', 'amanatta.2.jpg',
                   'amanatta.3.jpg', 'amanatta.4.jpg', 'amanatta.5.jpg', 'amanatta.6.jpg', 'amanatta.7.jpg',
                   'amanatta.8.jpg', 'amanatta.9.jpg', 'habibaman.0.jpg', 'habibaman.1.jpg', 'habibaman.10.jpg',
                   'habibaman.11.jpg', 'habibaman.12.jpg', 'habibaman.13.jpg', 'habibaman.14.jpg', 'habibaman.15.jpg',
                   'habibaman.16.jpg', 'habibaman.2.jpg', 'habibaman.3.jpg', 'habibaman.4.jpg', 'habibaman.5.jpg',
                   'habibaman.6.jpg', 'habibaman.7.jpg', 'habibaman.8.jpg', 'habibaman.9.jpg', 'luqmanaman.0.jpg',
                   'luqmanaman.1.jpg', 'luqmanaman.10.jpg', 'luqmanaman.11.jpg', 'luqmanaman.12.jpg',
                   'luqmanaman.13.jpg', 'luqmanaman.14.jpg', 'luqmanaman.15.jpg', 'luqmanaman.16.jpg',
                   'luqmanaman.2.jpg', 'luqmanaman.3.jpg', 'luqmanaman.4.jpg', 'luqmanaman.5.jpg',
                   'luqmanaman.6.jpg', 'luqmanaman.7.jpg', 'luqmanaman.8.jpg', 'luqmanaman.9.jpg']

    user_names =['habibaman', 'luqmanaman', 'amanatta']

数据库

table name -> users
column name -> [ u_misid, u_name, u_fname, u_dataset] 

代码

def updatestatus():
    query1 = "select `u_misid`, `u_name`, `u_fname` from users"
    cur.execute(query1)
    rows = cur.fetchall()

    for item in rows:
        for (dirpath, dirnames, filename) in os.walk('modeldata/photosamples/'):
            fnl = item[1].lower() + item[2].lower()
            if filename[0].startswith("{0}".format(fnl)):
                query2 = "update users set `u_dataset`=%s where u_misid=%s"
                values = (1, item[0])
                cur.execute(query2, values)
                conn.commit()

updatestatus()

如果 file_name(sub string) 存在与 user_name 匹配,则更新 user 表中的 u_dataset

哈比卜·乌尔·拉赫曼

我通过放置一个额外的循环并遍历文件名来实现这一点。代码如下。

代码

def updatestatus():
    query1 = "select `u_misid`, `u_name`, `u_fname` from users"
    self.cur.execute(query1)
    rows = self.cur.fetchall()

    for item in rows:
        fnl = (item[1].lower() + item[2].lower() + item[0]).replace(" ", "")
        for (dirpath, dirnames, filenames) in os.walk('modeldata/photosamples/'):
            status = False
            if len(filenames) <= 0:
                query4 = "update users set `u_dataset`=%s where u_misid=%s"
                values4 = (0, item[0])
                self.cur.execute(query4, values4)
                self.conn.commit()
                else:
                    for name in filenames:
                    if name.startswith("{0}".format(fnl)):
                        status = True
                        if status == True:
                            query2 = "update users set `u_dataset`=%s where u_misid=%s"
                            values = (1, item[0])
                            self.cur.execute(query2, values)
                            self.conn.commit()

                            break
                        else:
                            query3 = "update users set `u_dataset`=%s where u_misid=%s"
                            values3 = (0, item[0])
                            self.cur.execute(query3, values3)
                            self.conn.commit()
    threading.Timer(10, updatestatus).start()

updatestatus()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用gulp-inject:如何将查询字符串添加到注入的文件名

计算目录中文件名与字符串匹配的文件

Python 2.7-过滤目录中文件名中具有特定字符串的文件

使用python在文件名中的字符串

如何将文件重命名为文件名中的子字符串?

如何将数据库中的字符串值与响应中的整数值匹配

如何批量检测文件名中的字符串?

Linux中文件名中的字符串替换

ls命令查看目录中文件名中的特定字符串

替换bash中文件名中的字符串

如何匹配文件名中的字符串并根据字符串重命名文件?

根据部分文件夹中的部分文件名匹配,重命名文件名的子字符串

修剪文件名的子字符串,每个子字符串都将模式匹配到给定的长度

Swift如何将文档文件URL转换为字符串,以便可以在TableView中显示文件名

如何从文件名中删除某些字符串?

如何获取与“ *” glob通配符匹配的文件名的子字符串?

如何将文件名从find输出合并到字符串中

如何通过指定前缀子字符串来匹配文件名?

如何使用哈希中的字符串值重命名文件名?

将文件名拆分为子字符串

如何检查文件夹中文件名中的元素是否包含字符串数组列表中的字符串名称?

匹配文件名而不是python正则表达式中的子字符串

根据同一文件夹中的部分文件名匹配重命名文件名的子字符串

如何将文本存储在资产目录中文本文件的字符串变量中?

使用bash shell映射json字符串中文件夹中的文件名

如何将列表与文件名匹配,然后将匹配的文件移动到 Python 中的新目录?

对于目录中的每个文件,将文件名和子字符串打印到 csv,

如何从没有文件扩展名的目录中仅保存文件名的子字符串?

如何使用包含在字符串中的文件名使用 Python 打开文件?