【发布时间】:2019-03-30 11:40:33
【问题描述】:
我在下面有这个 Python 脚本,它从一个位置获取文件并将其复制到另一个目标位置。如果我用绝对位置定义路径,下面的代码就可以正常工作。
我正在尝试使用变量来定义它,完成后不会执行脚本。没有抛出错误,但代码似乎没有被执行。
代码:
Path_from = r'/Users/user/Desktop/report'
Path_to = r'/Users/user/Desktop/report'
for root, dirs, files in os.walk((os.path.normpath(Path_from)), topdown=False):
for name in files:
if name.endswith('{}.txt'.format(date)):
print
"Found"
SourceFolder = os.path.join(root, name)
shutil.copy2(SourceFolder, Path_to)
我想修改代码
Path_from = r'/Users/user/Desktop/report'
到
base_path = /Users/user/Desktop/
Path_from = r'base_path/{}'.format(type)
【问题讨论】:
-
你需要在 base_path 中的 r 因为正斜杠
-
正斜杠不是特殊字符,它们真的需要原始字符串文字吗? stackoverflow.com/questions/2081640/… 。肯定是反斜杠,但不是正斜杠,对吧?
-
@clearshot66 我也尝试在 bath_path 之前包含 r' 但没有运气。 base_path = r'/Users/user/Desktop/'
-
r'base_path/{}' 是一个原始字符串文字,包含您用作变量 'base_path' 的相同字符,但它不添加 @ 的 值 987654325@ 在字符串中。我不确定
.format(type)应该是什么意思,但我只是假设您的代码示例的最后一点没有忠实地复制到问题中。
标签: python python-3.x variables path relative-path