小菜鸡_弱弱 2023-02-16 14:25 采纳率: 84.1%
浏览 75
已结题

python脚本参数传递丢失双引号

公司有个python脚本,出现一个问题,参数传递过程中内部的双引号被传丢了,如图我在三个位置分别打印了参数

img

第一次输出,双引号还在

img

第二次输出,双引号也还在

img

第三次输出,双引号的转义字符没了

img

导致执行 echo -e命令的时候写入到文件中双引号直接没了

img

有懂的大腿吗

  • 写回答

3条回答 默认 最新

  • 於黾 2023-02-16 14:52
    关注

    你仔细看,第二次打印时转义符就已经没了
    没了就对了,那个转义符是针对json字符串的,json字符串里面参数由双引号包裹,而str里又出现双引号,肯定要转义
    而你已经执行了json.load,已经拿到了参数值,这里就不需要再转义了呀
    至于最后连双引号都没了,因为你执行了echo,引号本来就是用来定义字符串的语法
    你打印的是字符串本身,字符串的定义不会被打印出来
    -=-=-==-=
    其实这里你应该反过来理解这些符号到底是怎么一层一层的包上去的
    比如最初你只是想在控制台下打印123,那么代码就是echo "123",这里一定要包上引号表明它是个字符串
    当你把这个东西继续套进一个字符串里面,那引号本身肯定要转义,就会变成这样"echo \"123\""

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备