Python 串联错误
Python Concatenation Error
我正在学习 python 并且一直停留在一个教程上,就指南而言,该教程应该有效但无效,我看到过类似的问题,但无法理解它们如何应用于我的代码我正在关注,代码在最后一行的末尾失败。
import os
import time
source = ["'C:\Users\Administrator\myfile\myfile 1'"]
target_dir = ['C:\Users\Administrator\myfile']
target = target_dir + os.sep + \
time.strftime('%Y%m%d%H%M%S') + '.zip'
can only concatenate list (not "str") to list
我尝试了一些使用 .append 的方法,还通过将 [] 和 () 添加到 + '.zip' 来更改代码,但都无济于事,所以我希望有人能解释为什么失败以及如何失败我纠正一下。
我在 windows
上使用 python 2.7.9
感谢
target_dir 是一个列表,所以在你的例子中你需要做:
target = target_dir[0] + os.sep + \
time.strftime('%Y%m%dT%H%M%S') + '.zip'
您看到该错误是因为您正在尝试添加列表 (target_list) 并将苹果和橙子串在一起。
target_dir
不应使用括号创建。
target_dir = 'C:\Users\Administrator\myfile'
target = target_dir + os.sep + \
time.strftime('%Y%m%d%H%M%S') + '.zip'
顺便提一下,请注意反斜杠,因为它们也用于表示字符串中的特殊字符。例如,"c:\new_directory"
将被解释为 "C colon newline W..." 而不是 "C colon backslash N W..."。在这种情况下,您需要使用 "c:\new_directory"
自己转义斜杠,或者使用像 r"c:\new_directory"
这样的原始字符串,或者像 [=] 这样的常规斜杠(如果 OS 允许它作为路径分隔符) 15=]
您应该使用 os.path.join()
以便始终使用正确的特定于平台的目录分隔符
import os
import time
source = "C:\Users\Administrator\myfile\myfile 1"
target_dir = "C:\Users\Administrator\myfile"
target = os.path.join(target_dir, time.strftime('%Y%m%d%H%M%S') + '.zip')
我正在学习 python 并且一直停留在一个教程上,就指南而言,该教程应该有效但无效,我看到过类似的问题,但无法理解它们如何应用于我的代码我正在关注,代码在最后一行的末尾失败。
import os
import time
source = ["'C:\Users\Administrator\myfile\myfile 1'"]
target_dir = ['C:\Users\Administrator\myfile']
target = target_dir + os.sep + \
time.strftime('%Y%m%d%H%M%S') + '.zip'
can only concatenate list (not "str") to list
我尝试了一些使用 .append 的方法,还通过将 [] 和 () 添加到 + '.zip' 来更改代码,但都无济于事,所以我希望有人能解释为什么失败以及如何失败我纠正一下。
我在 windows
上使用 python 2.7.9感谢
target_dir 是一个列表,所以在你的例子中你需要做:
target = target_dir[0] + os.sep + \
time.strftime('%Y%m%dT%H%M%S') + '.zip'
您看到该错误是因为您正在尝试添加列表 (target_list) 并将苹果和橙子串在一起。
target_dir
不应使用括号创建。
target_dir = 'C:\Users\Administrator\myfile'
target = target_dir + os.sep + \
time.strftime('%Y%m%d%H%M%S') + '.zip'
顺便提一下,请注意反斜杠,因为它们也用于表示字符串中的特殊字符。例如,"c:\new_directory"
将被解释为 "C colon newline W..." 而不是 "C colon backslash N W..."。在这种情况下,您需要使用 "c:\new_directory"
自己转义斜杠,或者使用像 r"c:\new_directory"
这样的原始字符串,或者像 [=] 这样的常规斜杠(如果 OS 允许它作为路径分隔符) 15=]
您应该使用 os.path.join()
以便始终使用正确的特定于平台的目录分隔符
import os
import time
source = "C:\Users\Administrator\myfile\myfile 1"
target_dir = "C:\Users\Administrator\myfile"
target = os.path.join(target_dir, time.strftime('%Y%m%d%H%M%S') + '.zip')