【问题标题】:How to find another directory without explicitly stating it? (Python)如何在不明确说明的情况下找到另一个目录? (Python)
【发布时间】:2015-07-19 11:51:37
【问题描述】:

我正在尝试将文件夹的所有内容从一个目录复制到另一个目录,但最终目标路径位于 Python 正在搜索的当前工作目录之外。

如何在不明确说明的情况下找到此位置?

这是我所拥有的:

from Myro import *
import shutil
import os
import sys

def imageSync():
    path1 = os.path.abspath("5-1-15 upload")
    path2 = "C:\Users\Owner\Pictures\plsWork" 
    #path2 = sys.path.inset(0, 'C:\Users\Owner\Pictures\plsWork')

    listing = os.listdir(path1)

    for image in listing:
        shutil.copy2( os.path.join(path1, image), path2)

我想我的问题类似于:Importing files from different folder in Python。但是我尝试了这些建议并收到了类型错误,因此我将我的尝试注释掉了。

感谢您的帮助!

【问题讨论】:

  • 我不确定我是否理解您的问题。 path1 或 path2 是最终目标路径吗?有些事情让我觉得你的问题是\U 没有被转义到\\U
  • @EugeneK path2 是我的目标路径
  • 尝试转义字符串中的每个 \。 \ 在 Windows 上用作路径分隔符,在 Python 中也是转义字符。参考:learnpythonthehardway.org/book/ex10.html
  • 什么版本的python?
  • @PadraicCunningham 3.1

标签: python image copy directory


【解决方案1】:

\U 会报错:

In [2]: "\U"
  File "<ipython-input-2-d8a2543b5007>", line 1
    "\U"
        ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \UXXXXXXXX escape

您应该始终在 Windows 路径中使用原始字符串 r 或转发 /'s

r"C:\Users\Owner\Pictures\plsWork" 

/:

"C:/Users/Owner/Pictures/plsWork" 

string literals

反斜杠 () 字符用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符。字符串文字可以选择以字母“r”或“R”作为前缀;此类字符串称为原始字符串,并使用不同的规则来解释反斜杠转义序列。 'u' 或 'U' 前缀使字符串成为 Unicode 字符串

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2022-11-15
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    相关资源
    最近更新 更多