-
2020-03-22 13:39:37
我来说一说Python里的反斜杠的一些用法,说实话,这个用法真是太多了,我都说不完。我觉得在CSDN,讲的比较好的,是这一篇。我就不讲了,因为有一些我实在没用过,但是又很重要…
好了以上就是今天的知识,希望大家记住,这是基础中的基础。创作不易,大家至少关注一下吧。有疑惑的朋友在评论区询问,我会尽力而答。感兴趣的小伙伴,可以加我QQ:3418772261。我们下期再见!
更多相关内容 -
python反斜杠换行
2021-03-17 18:04:00#在python中反斜杠\ 表示的是使代码自动换行 可以连续使用 #换行之后和写在一行的功能是一致的 a =100 b = a +1 +\ 2 + 3 c=a+b+\ 4 + 5 +6 + \ 7+8+9+ \ 10 print("{}".format(b)) print(c)#在python中反斜杠
\
表示的是使代码自动换行 可以连续使用
#换行之后和写在一行的功能是一致的a =100 b = a +1 +\ 2 + 3 c=a+b+\ 4 + 5 +6 + \ 7+8+9+ \ 10 print("{}".format(b)) print(c)
-
Python双反斜杠issu
2020-12-28 19:59:11我使用python脚本向属于另一个系统的sqlserver发送数十万个insert查询。在我的插入示例:"INSERT INTO ImportData (ISBNORISSNORURL, FILENAME, PDFLOCATIONS, PROCESSED) VALUES('0442019521', 'pinto_1995_245_...我使用python脚本向属于另一个系统的sqlserver发送数十万个insert查询。在
我的插入示例:"INSERT INTO ImportData (ISBNORISSNORURL, FILENAME, PDFLOCATIONS, PROCESSED) VALUES('0442019521', 'pinto_1995_245_hires.pdf', 'I:\\Collect and Process Data\\Licensing Schemes Processing\\03 Data Preparation Original\\USQ\\September-October 2010\\pinto_1995_245_hires.pdf','0');"
将文件路径字符串指定给全局:
^{pr2}$
然后将其添加到由名称/值对组成的字典中,这些名称/值对与插入查询中的字段和值数据相匹配。这些将转换为数据字符串:final_header_list = str(fields_value_list.keys()).replace("[","").replace("]","").replace("'","")
final_values_list = str(fields_value_list.values()).replace("[","").replace("]","").replace("'","")
然后添加到最后的插入字符串:insert_query = 'INSERT INTO {0} ({1}) VALUES({2});'.format(TABLE,final_header_list,final_value_list)
以10000个组发送到sql server。在
双反斜杠作为双反斜杠传递到数据库,而不是神奇地转换为单个反斜杠。我显然不允许用正斜杠作为替代。有没有其他方法可以在我这边得到想要的反斜杠?或者,SQL server实例的管理员是否必须在其末端进行更改?在
非常感谢!在
-
一文搞懂Python反斜杠的问题
2021-03-18 21:32:18大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量搞得头大。 首先我们写一段非常简单的Python代码,它的作用是把一个字段先转换为JSON格式的字符串,然后把这个字符串再转换为JSON格式...大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量搞得头大。
首先我们写一段非常简单的Python代码,它的作用是把一个字段先转换为JSON格式的字符串,然后把这个字符串再转换为JSON格式的字符串:
import json info = {'name': 'kingname', 'address': '杭州', 'salary': 99999} info_json = json.dumps(info) # 第一次转换以后,打印出来 print(info_json) info_json_json = json.dumps(info_json) # 第二次转换以后,再打印出来 print(info_json_json)
它的运行效果如下图所示。
第一次,字典转成JSON格式的字符串,只有中文
杭州
变成了Unicode编码\u676d\u5dde
,其余地方没有出现反斜杠。在Python里面,反斜杠不能单独出现,这里
\u676d\u5dde
中的两根反斜杠,实际上应该是\u
。表示这两个编码是Unicode编码。接下来,把第一次生成的JSON字符串:
{"name": "kingname", "address": "\u676d\u5dde", "salary": 99999}
再一次转成JSON格式的字符串,这一次变成了:"{\"name\": \"kingname\", \"address\": \"\\u676d\\u5dde\", \"salary\": 99999}"
为什么突然出现了这么多反斜杠?这是因为,JSON格式的字符串本身是使用双引号来表示字符串的。如果原来的字符串里面本身就有双引号,那就会导致混淆。此时,Python需要把原来字符串的双引号变成普通的字符,失去双引号的作用。因此使用
\"
让双引号变成普通的字符。这就相当于在Python中,可以这样定义一个包含双引号的字符串:
>>> a = "跟我说:\"你好\"" >>> print(a) 跟我说:"你好"
这里,
你好
两侧的双引号都加上了反斜杠,让它成为普通的字符,防止它们提前与最外层的双引号配对。如果不加反斜杠,就会导致字符串里面的双引号提前与外层的双引号配对,引起语法错误:
>>> b = "跟我说:"你好"" File "<stdin>", line 1 b = "跟我说:"你好"" ^ SyntaxError: invalid syntax
这里,
"跟我说:"
成为了一个字符串,末尾的""
成为了一个空字符串。那么中间的你好
就变成了一个没有定义的变量。而Python里面,是不存在字符串未定义的变量字符串
这种写法的,所以会报语法错误。而JSON格式的字符串,本质上也是字符串,所以自然而然也需要遵循这样的规则。因此,字符串原来自带的双引号左侧就被加上了反斜杠。
那么,原来的
\u676d\u5dde
为什么变成了\\u676d\\u5dde
?这是因为,当第二次执行
json.dumps
的时候,传入的参数是一个JSON格式的字符串,本质就是字符串。而一个字符串里面如果自带反斜杠,那么JSON在对他再次转换的时候,需要标记这是一个普通的字符串形式的反斜杠,不是一个有特殊意义的反斜杠,所以使用\\
表示一个普通的反斜杠。好了,那么你可以猜一下,如果把
info_json_json
再json.dumps
一下会怎么样?会变成:
"\"{\\\"name\\\": \\\"kingname\\\", \\\"address\\\": \\\"\\\\u676d\\\\u5dde\\\", \\\"salary\\\": 99999}\""
为什么出现了三个反斜杠连用和四个反斜杠连用的问题?
实际上非常简单,当你对
info_json_json
执行json.dumps
的时候,Python是怎么转换的?我们来看:
"{\"name\": \"kingname\", \"address\": \"\\u676d\\u5dde\", \"salary\": 99999}"
对
字符串
执行json.dumps
的时候,记住一个关键方法——从左到右,一个字符一个字符的转换。1. 第一个字符是双引号,所以变成\" 2. 第二个字符是{,不是特殊符号,保留 3. 第三个字符是\,把它变成\\ 4. 第四个字符是",把它变成\" 5. ……
全部执行完成了,由于这次转换是把一个字符串转换为JSON格式的字符串,所以最外侧加上双引号。
于是就得到了:
"\"{\\\"name\\\": \\\"kingname\\\", \\\"address\\\": \\\"\\\\u676d\\\\u5dde\\\", \\\"salary\\\": 99999}\""
我们在爬虫开发过程中,可能会遇到上面这种经过多次JSON转换后的字符串,此时,千万不要轻易使用字符串的
.replace
方法把多个反斜杠替换为空或者把两个反斜杠替换为一个反斜杠。那样做只会导致你的数据更难解析。正确的做法应该是尝试对数据一层一层使用
json.loads
,把它一层一层还原,还原到最初的{'name': 'kingname', 'address': '杭州', 'salary': 99999}
这种简单形式。好了,今天的介绍就到这里,最后留一个思考题:
还是上面的代码,现在把PyCharm的调试模式打开,然后数一数
info_json
和info_json_json
里面反斜杠的个数,如下图所示:为什么在
info_json
里面,出现了\\u676d\\u5dde
,为什么在info_json_json
里面双引号前是两根反斜杠,而\"\\u676d\\u5dde\"
竟然变成了\\"\\\\u676d\\\\u5dde
。 -
详解Python中的正斜杠与反斜杠
2021-01-20 05:46:22首先,”/”左倾斜是正斜杠,”\”右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,... -
python 中反斜杠的用法
2022-02-19 15:24:13在python中,如何用斜杠和反斜杠来写文件路径 -
python中的反斜杠问题深入讲解
2021-01-21 18:42:00python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候 s = 'i\'m superman' print(s) # i'm superman 为了防止和字符串本身的引号冲突,使用 \ 来转义,一般情况下这个也不会引起什么问题,但是当你... -
Python转义反斜杠
2021-07-16 13:50:06parser.add_argument('-s', '--source', type = str, help = 'Source file path') Now, how do escape the value in - args.source 解决方案 So there are a few escape sequences to be aware of in python and ... -
python正则表达式 匹配反斜杠的操作方法
2020-12-17 09:15:18python正则表达式 匹配反斜杠 正则 需要把原始字符串不被转义的条件下传递给正则模块,正则再去转义。 r表示r后面的字符串为原始字符串,防止计算机将 \ 理解为转义字符。 r'^\\$' 首先按照原始字符串给到compile... -
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2020-12-23 21:30:31首先,”/”左倾斜是正斜杠,”\”右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,... -
Python 反斜杠问题
2019-05-31 00:06:20python 本身可以使用反斜杠 \ 来转义一些特殊字符,比如在字符串中加入引号的时候: >>> syztoo = 'it\'s a song' >>> syztoo "it's a song" >>> print (syztoo) it's a song 当然也... -
在python中将反斜杠转换为正斜杠
2021-07-16 13:44:17HiI have read articles related converting backward to forward slashes.But sol was to use raw string.But Problem in my case is :I will get file path dynamically to a variablevar='C:\dummy_folder\a.txt'... -
python中反斜杠是什么意思
2021-01-29 05:06:451、python本身使用\来转义一些特殊字符,比如在字符串中加入引号的时候s = 'i\'m superman'print(s) # i'm superman2、Python中反斜杠也可以用在一行结尾做续行符使用。例:hello = "This is a rather long string ... -
Python——反斜杠\在行尾时的作用
2022-04-24 12:41:16作用:续行符 举例: 参考文章: python中反斜杠是什么意思 -
解决Python正则表达式匹配反斜杠”\”问题
2020-12-31 18:26:26在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一、引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的: 1)普通字符串:’\\’ 2)原始字符串:r’\... -
python将单反斜杠‘\’变成双反斜杠‘\\’(已验证)
2022-04-02 11:20:42方法一: >>> a="D:\influence_el\opic" ...单反斜杠,变成双反斜杠。 方法二: >>> a="D:\influence_el\opic" >>> a= '\\'.join(a.split('\\')) >>> a 'D:\\i -
Python 打印 反斜杠 \ 方法
2021-06-13 17:37:07这样是打印不出来的 这样就可以! -
双斜杠python_如何用python中的单个反斜杠替换双反斜杠?
2020-11-27 18:23:50I have a string. In that string are double backslashes. I want to replace the double backslashes with single backslashes, so that unicode char codes can be parsed correctly.(Pdb) p fetched_page'Chapte... -
如何用python中的单个反斜杠替换双反斜杠?
2021-07-16 13:13:36I have a string. In that string are double backslashes. I want to replace the double backslashes with single backslashes, so that unicode char codes can be parsed correctly.(Pdb) p fetched_page'Chapte... -
python中反斜杠 \ 的作用
2021-06-24 22:42:24先贴个图 今天看到一段代码 ...就是深度学习中对特征进行均值归一化的操作,但是他这里在两行的行末都加了反斜杠,查了资料才知道意思就是续行符,把这一号和下一行的代码连接起来,没有特殊含义。 ... -
python中字符串的反斜杠问题
2021-03-05 15:30:521,当反斜杠中不含转义字符时可以依旧打印,结果不变,但不鼓励>>> mystr='C:\Program Files\python\Good'>... print(mystr)C:\Program Files\python\Good2,当反斜杠和其之后的字符组合成转... -
python 使用正则表达式匹配反斜杠 \
2022-04-14 09:49:05python 使用正则表达式匹配反斜杠 \ 遇到的问题: 在做爬虫的时候,爬取的url链接内还有转义字符,反斜杠 \,打算用正则的re.sub()替换掉的时候遇到了问题, 这是要做替换的字符串 最开始直接写 re.sub("\\","",... -
python中消除反斜杠的麻烦
2020-12-07 13:52:33反斜杠的麻烦在早期规定中,正则表达式用反斜杠字符 ("\")来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与Python在字符串中的那些起相同作用的相同字符产生了冲突。让我们举例说明,你想写一个 RE 以... -
python将%替换为\(反斜杠)
2022-03-21 17:51:26其实是“轨道交通”四个中文,如果把%换成\反斜杠,那么py3中直接就可以打印出来,但是,但是,但是,困扰了好几天的问题是,%不能直接replace成为\ s = "%u8F68%u9053%u4EA4%u901A" s1 = "\u8F68\u9053\u4EA4\u901A... -
python 正斜杠 反斜杠 与 r
2022-04-27 23:52:59python 正斜杠, 反斜杠与r -
python中斜杠,双斜杠,反斜杠的使用方法
2020-06-22 09:35:27if os.path.exists(“C:\Users\Shinelon\Desktop\Python_development_engineer.csv”): os.remove(“C:\Users\Shinelon\Desktop\Python_development_engineer.csv”) 是来判断某个路径文件是否存在,所以可以使用的... -
Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法
2020-12-16 14:26:27以上这篇Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python文件读写并使用mysql批量插入示例...