python数字要加引号吗_在python中如何快速地将一串字符串首尾加上双引号?

python初学者。现在想做一个打包的小任务。目标地址为:

D:\py_backup_test\iu d

然后将这个地址放在target_dir 里,并加上当前时间和后缀名:

import os

import time

import re

# 1. 需要备份的文件与目录将被

# 指定在一个列表中。

# 例如在 Windows 下:

source = ['"D:\\Disk F\\py-test\\back-test-file\\source1"']

#2. 备份文件必须存储在一个

#主备份目录中

#例如在 Windows 下:

target_dir = 'D:\\py_backup_test\\iu d'

# 3. 备份文件将打包压缩成 zip 文件。

# 4. zip 压缩文件的文件名由当前日期与时间构成。

target = target_dir + os.sep + \

time.strftime('%Y%m%d%H%M%S') + '.zip'

# 如果目标目录还不存在,则进行创建

if not os.path.exists(target_dir):

os.mkdir(target_dir) # 创建目录

# 5. 我们使用 zip 命令将文件打包成 zip 格式

zip_command = 'zip -r {0} {1}'.format(target,

' '.join(source))

原来的程序就到这,但是现在出现的问题是目标地址带有空格,zip命令形成如下:

zip -r D:\py_backup_test\iu d\20170825164234.zip "D:\Disk F\py-test\back-test-file\source1"

这样的话,会在D:\py_backup_test下打包出一个名为iu.zip的文件。如果只是把target_dir 修改成

target_dir = "D:\\py_backup_test\\iu d"

#或者

target_dir = "'D:\\py_backup_test\\iu d'"

都不行,通不过 os.path.exists或者os.mkdir。

为了形成正确的zip命令:

zip -r "D:\py_backup_test\iu d\20170825164438.zip" "D:\Disk F\py-test\back-test-file\source1"

那我就做了以下操作,将D:\py_backup_test\iu d\20170825164234.zip这一字符串变成"D:\py_backup_test\iu d\20170825164438.zip"这一字符串:

if re.search(r"\s", target_dir):#判断路径中是否有空格,有的话要用双引号包起来

target_dir_temp_list1 = list(target_dir)#先把字符串转成列表

target_dir_temp_list1.insert(0,"\"")#把列表的第一位加上一个双引号

target_dir_temp_str1 = "".join(target_dir_temp_list1)#转成字符串

target_dir_temp_str2 = target_dir_temp_str1+ os.sep +\

time.strftime('%Y%m%d%H%M%S') + '.zip'#加上时间和后缀名

target_dir_temp_list2 = list(target_dir_temp_str2)#再转成字符串

target_dir_temp_list2.append("\"") #加上最后一个双引号,再转成字符串

target = "".join(target_dir_temp_list2)

**

我的问题就是,如何更快速地将一串字符串的首尾添加上双引号,以上8行代码有没有一种更为简单的写法,我觉得我这样写的虽然达到了效果但是不优美、简便。

**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值