在一个小的wxPython程序中,我创建了一个for循环,它接收文件列表中的项目并使用cp copy复制它们。一切都很好,并在其路径上没有空间的源上工作。但是当引入源代码时,cp函数无法找到我的源代码。 这是我的代码:
if f_name in selectedsecondcource:
self.counter += 1
self.toPrint = self.counterText + str(self.counter) + "/" + str(len(selectedList))
self.oncopy.SetLabel(self.toPrint)
src_abs_path = os.path.join(r, file)
src_relative_path = os.path.relpath(src_abs_path, self.twoDirFilename)
dst_abs_path = os.path.join(self.DirDest, src_relative_path)
dst_dir = os.path.dirname(dst_abs_path)
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
ret = os.system('cp -fr %s %s' % (src_abs_path, dst_abs_path))
感谢任何帮助。 虽然这是我的第一个Python程序,但我对Python的理解比thisos.system更好(' cp ... stuff。
总结:如何在目录名称中包含空格的源上进行此工作?
由于 加文
答案 0 :(得分:0)
正常情况下,如果文件名以空格分隔,则命令不起作用。
尝试使用引号:
ret = os.system('cp -fr "%s" "%s"' % (src_abs_path, dst_abs_path))
但这更好:http://docs.python.org/2/library/shutil.html#shutil.copy