gpt4 book ai didi

python - 使用 Python 的变量文件

转载 作者:行者123 更新时间:2023-11-28 20:54:13 26 4
gpt4 key购买 nike

我正在尝试使用类似“C:\Programfiles\file.txt”的文件路径,但我希望 file.txt 成为一个变量,我可以在需要时更改它。我正在尝试比较 2 个目录,然后将文件从一个目录复制到另一个目录(如果它们不存在)。到目前为止我有这段代码。

import os
import shutil
A= set(os.listdir(r"C:\Users\Morpheous\Desktop\Python Test"))
B= set(os.listdir(r"C:\Users\Morpheous\Desktop\Python Test 2"))
if len(A)< len(B):
C=B-A
print("File is: %s" %(C))
shutil.copy2('C:\\Users\\Morpheous\\Desktop\\Python Test 2\\%r'%(C),'C:\\Users\\Morpheous\\Desktop\\Python Test')

elif len(A) > len(B):
C=B-A
print(C)

我得到一个错误,因为变量被插入到周围有 {''} 的路径中。我该怎么做呢?

最佳答案

请使用os.path.join 构建路径。此外,您应该将目录放入变量中以供重用。此外,您需要遍历文件夹 (B - A) 之间的差异,以便获取差异集中的每个文件名(C 是包含以下内容的文件集)已添加!)。

这是更正后的版本 - 已经过测试并且可以正常工作:

import os
import shutil

pathA = r"C:\Users\Morpheous\Desktop\Python Test"
pathB = r"C:\Users\Morpheous\Desktop\Python Test 2"

A = set(os.listdir(pathA))
B = set(os.listdir(pathB))
C = B - A

if len(C):
print("Difference is: %s" % repr(C))

for addedFile in C:
shutil.copy2(os.path.join(pathB, addedFile),
os.path.join(pathA, addedFile))
else:
print("No new files")

关于python - 使用 Python 的变量文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2306947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com