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行代碼有沒有一種更為簡單的寫法,我覺得我這樣寫的雖然達到了效果但是不優美、簡便。
**
總結
以上是生活随笔為你收集整理的python快速加引号_在python中如何快速地将一串字符串首尾加上双引号?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python循环变颜色_在Python中
- 下一篇: python字典改键_python 字典