热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中移除字符串的默认引号?

在Python编程中,若需生成SQL语句中的`CURRENTTIMESTAMP`命令而不希望其带有默认的字符串引号,可以通过直接使用变量或字符串拼接的方法来实现。此方法能有效避免因字符串自带引号而导致的SQL语法错误,确保命令正确执行。
大家好,刚接触Python不久,最近在写一个小程序,需要生成一个sql中的命令'CURRENT TIMESTAMP',但是因为是在sql中的命令,所以不能带引号,不知道如何去掉这个str类型默认带的单引号。
在网上查了很多,有的用eval,有的用replace,但是试了试都不行,不知道各位大神有没有好的办法?重谢!!

11 个解决方案

#1


直接format字符串,这个引号就会去掉

#2


引用 1 楼 oyljerry 的回复:
直接format字符串,这个引号就会去掉

能麻烦说详细点吗?我是把字符串放到一个list里,然后保存到文件中,用了format之后写入到文件里的字符串还是带引号的,代码是这样的:
        WK_TS = 'CURRENT TIMESTAMP'
        sql_row_list.append(format(WK_TS)) 

这样还是不行的, 请问应该怎么做呢?谢谢!

#3


你要拼成一个sql吗?是拼成的申请了中多了引号吗?那用replace应该可以啊

#4


这是测试代码:

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
sql = sql.replace('\'', '')
print(sql)


这是测试结果:
 where time ='CURRENT TIMESTAMP'
 where time =CURRENT TIMESTAMP

#5


估计你用replace时没有赋值,所以没变。比如:
message= "aa'"
message.replace('a', 'b')
这样是没作用的,你必须再赋值
message = message.replace('a', 'b')这样才行

#6


引用 4 楼 shihengzhen101 的回复:
这是测试代码:

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
sql = sql.replace('\'', '')
print(sql)


这是测试结果:
 where time ='CURRENT TIMESTAMP'
 where time =CURRENT TIMESTAMP


不需要拼成sql,只是写入到文件,你这个方法我也试过,不行, 用print打出来不会带引号,但是写入到文件还是有引号的。

#7


引用 5 楼 kuangbao9 的回复:
估计你用replace时没有赋值,所以没变。比如:
message= "aa'"
message.replace('a', 'b')
这样是没作用的,你必须再赋值
message = message.replace('a', 'b')这样才行

赋值了,不行的,写入文件之后还是带''

#8


引用 2 楼 liujinwei2005 的回复:
Quote: 引用 1 楼 oyljerry 的回复:

直接format字符串,这个引号就会去掉

能麻烦说详细点吗?我是把字符串放到一个list里,然后保存到文件中,用了format之后写入到文件里的字符串还是带引号的,代码是这样的:
        WK_TS = 'CURRENT TIMESTAMP'
        sql_row_list.append(format(WK_TS)) 

这样还是不行的, 请问应该怎么做呢?谢谢!


就你的这两行代码本身就不会有引号的,除非你把sql_row_list直接保存到文本的
要把list里的元素一个一个单独写进文本

#9


引用 6 楼 liujinwei2005 的回复:
Quote: 引用 4 楼 shihengzhen101 的回复:

这是测试代码:

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
sql = sql.replace('\'', '')
print(sql)


这是测试结果:
 where time ='CURRENT TIMESTAMP'
 where time =CURRENT TIMESTAMP


不需要拼成sql,只是写入到文件,你这个方法我也试过,不行, 用print打出来不会带引号,但是写入到文件还是有引号的。

我写入文件也是正常的啊,要不你再试试

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
newsql = sql.replace('\'', '')
print(newsql)

with open('mysql.txt', 'w') as file:
    file.write(sql)
    file.write("\n")
    file.write(newsql)


#10


引用 9 楼 shihengzhen101 的回复:
Quote: 引用 6 楼 liujinwei2005 的回复:

Quote: 引用 4 楼 shihengzhen101 的回复:

这是测试代码:

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
sql = sql.replace('\'', '')
print(sql)


这是测试结果:
 where time ='CURRENT TIMESTAMP'
 where time =CURRENT TIMESTAMP


不需要拼成sql,只是写入到文件,你这个方法我也试过,不行, 用print打出来不会带引号,但是写入到文件还是有引号的。

我写入文件也是正常的啊,要不你再试试

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
newsql = sql.replace('\'', '')
print(newsql)

with open('mysql.txt', 'w') as file:
    file.write(sql)
    file.write("\n")
    file.write(newsql)



谢谢,可以了,我的是因为在写入到list的时候用的replace,然后把list写到文本中,所以才不行。然后我在写入文件的时候对文本整体做了replace,可以了:
f.write(str(insert_cmd2.replace('\'CURRENT TIMESTAMP\'', 'CURRENT TIMESTAMP')) + '\n')

#11


引用 10 楼 liujinwei2005 的回复:
Quote: 引用 9 楼 shihengzhen101 的回复:

Quote: 引用 6 楼 liujinwei2005 的回复:

Quote: 引用 4 楼 shihengzhen101 的回复:

这是测试代码:

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
sql = sql.replace('\'', '')
print(sql)


这是测试结果:
 where time ='CURRENT TIMESTAMP'
 where time =CURRENT TIMESTAMP


不需要拼成sql,只是写入到文件,你这个方法我也试过,不行, 用print打出来不会带引号,但是写入到文件还是有引号的。

我写入文件也是正常的啊,要不你再试试

sql = " where time ='CURRENT TIMESTAMP'"
print(sql)
newsql = sql.replace('\'', '')
print(newsql)

with open('mysql.txt', 'w') as file:
    file.write(sql)
    file.write("\n")
    file.write(newsql)



谢谢,可以了,我的是因为在写入到list的时候用的replace,然后把list写到文本中,所以才不行。然后我在写入文件的时候对文本整体做了replace,可以了:
f.write(str(insert_cmd2.replace('\'CURRENT TIMESTAMP\'', 'CURRENT TIMESTAMP')) + '\n')

推荐阅读
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 本文深入探讨了 Python 列表切片的基本概念和实际应用,通过具体示例展示了不同切片方式的使用方法及其背后的逻辑。 ... [详细]
  • 本文详细介绍了Python中文件的基本操作,包括打开、读取、写入和关闭文件的方法,并通过实例展示了如何将Excel文件转换为CSV文件以及进一步转换为HTML文件。此外,还涉及了成绩等级替换的具体实现。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • This request pertains to exporting the hosted_zone_id attribute associated with the aws_rds_cluster resource in Terraform configurations. The absence of this attribute can lead to issues when integrating DNS records with Route 53. ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
author-avatar
手机用户2502859733
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有