Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件移动到一个新文件夹,该文件夹在Python中恰好具有相同的文件名_Python - Fatal编程技术网

将文件移动到一个新文件夹,该文件夹在Python中恰好具有相同的文件名

将文件移动到一个新文件夹,该文件夹在Python中恰好具有相同的文件名,python,Python,在我的脚本中,我很少遇到这样的问题:我试图将一个文件移动到这个新文件夹中,而这个新文件夹中已经有一个同名的文件,但它就是这样发生的。因此,我当前的代码使用shutil.move方法,但它会因重复的文件名而出错。我希望我可以使用一个简单的if语句来检查源代码是否已经在目标代码中,并稍微更改名称,但也无法完成这项工作。我还读了另一篇文章,其中使用了distutils模块来解决这个问题,但这篇文章给了我一个属性错误。人们对此还有其他想法吗 我在下面添加了一些示例代码。“C:\data\new”目录中已

在我的脚本中,我很少遇到这样的问题:我试图将一个文件移动到这个新文件夹中,而这个新文件夹中已经有一个同名的文件,但它就是这样发生的。因此,我当前的代码使用shutil.move方法,但它会因重复的文件名而出错。我希望我可以使用一个简单的if语句来检查源代码是否已经在目标代码中,并稍微更改名称,但也无法完成这项工作。我还读了另一篇文章,其中使用了distutils模块来解决这个问题,但这篇文章给了我一个属性错误。人们对此还有其他想法吗

我在下面添加了一些示例代码。“C:\data\new”目录中已经有一个名为“file.txt”的文件。给定的错误是目标路径已存在

import shutil
myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"
shutil.move(myfile, newpath)

您可以检查该文件是否存在,如果存在,则将其删除

import os
import shutil
myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"
# if check existence of the new possible new path name.
check_existence = os.path.join(newpath, os.path.basename(myfile))
if os.path.exists(check_existence):
    os.remove(check_existence)
shutil.move(myfile, newpath)

您可以检查该文件是否存在,如果存在,则将其删除

import os
import shutil
myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"
# if check existence of the new possible new path name.
check_existence = os.path.join(newpath, os.path.basename(myfile))
if os.path.exists(check_existence):
    os.remove(check_existence)
shutil.move(myfile, newpath)

您可以检查该文件是否存在,如果存在,则将其删除

import os
import shutil
myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"
# if check existence of the new possible new path name.
check_existence = os.path.join(newpath, os.path.basename(myfile))
if os.path.exists(check_existence):
    os.remove(check_existence)
shutil.move(myfile, newpath)

您可以检查该文件是否存在,如果存在,则将其删除

import os
import shutil
myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"
# if check existence of the new possible new path name.
check_existence = os.path.join(newpath, os.path.basename(myfile))
if os.path.exists(check_existence):
    os.remove(check_existence)
shutil.move(myfile, newpath)

在Python3.4中,您可以尝试该模块。这只是一个示例,因此您可以将其改写为更高效/使用变量:

import pathlib
import shutil

myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"

p = pathlib.Path("C:\data\new")
if not p.exists():
   shutil.move(myfile, newpath)
#Use an else: here to handle your edge case.

在Python3.4中,您可以尝试该模块。这只是一个示例,因此您可以将其改写为更高效/使用变量:

import pathlib
import shutil

myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"

p = pathlib.Path("C:\data\new")
if not p.exists():
   shutil.move(myfile, newpath)
#Use an else: here to handle your edge case.

在Python3.4中,您可以尝试该模块。这只是一个示例,因此您可以将其改写为更高效/使用变量:

import pathlib
import shutil

myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"

p = pathlib.Path("C:\data\new")
if not p.exists():
   shutil.move(myfile, newpath)
#Use an else: here to handle your edge case.

在Python3.4中,您可以尝试该模块。这只是一个示例,因此您可以将其改写为更高效/使用变量:

import pathlib
import shutil

myfile = r"C:\data\file.txt"
newpath = r"C:\data\new"

p = pathlib.Path("C:\data\new")
if not p.exists():
   shutil.move(myfile, newpath)
#Use an else: here to handle your edge case.


一些示例代码,错误?请添加演示问题的代码。这应该很小,可以单独运行,并重现问题。这使得开始寻找解决方案变得容易得多,也将提高答案的数量、质量和清晰度。感谢提示人员,我应该在这方面做得更好。一些示例代码,错误?请添加演示问题的代码。这应该很小,可以单独运行,并重现问题。这使得开始寻找解决方案变得容易得多,也将提高答案的数量、质量和清晰度。感谢提示人员,我应该在这方面做得更好。一些示例代码,错误?请添加演示问题的代码。这应该很小,可以单独运行,并重现问题。这使得开始寻找解决方案变得容易得多,也将提高答案的数量、质量和清晰度。感谢提示人员,我应该在这方面做得更好。一些示例代码,错误?请添加演示问题的代码。这应该很小,可以单独运行,并重现问题。这使得开始寻找解决方案变得容易得多,同时也将提高答案的数量、质量和清晰度。感谢那些给我小费的家伙,我应该在这方面做得更好。谢谢Jim,如果我使用3.4,我会使用它。@Jim,我不认为这实际上解决了OP的问题:在OP的例子中,
newpath
是一个始终存在的目录。问题是该目录中有一个名为
file.txt
的文件,需要检查该文件是否存在。除此之外,回答得很好。@CodyPiersall谢谢你指出这一点。我自己仍在学习Python,因此我感谢您的反馈。我将把答案留在这里,因为如果人们偶然发现它,它可能会对Python3有用。我还对你的答案投了赞成票。谢谢Jim,如果我使用3.4,我会使用。@Jim,我不认为这实际上解决了OP的问题:在OP的示例中,
newpath
是一个始终存在的目录。问题是该目录中有一个名为
file.txt
的文件,需要检查该文件是否存在。除此之外,回答得很好。@CodyPiersall谢谢你指出这一点。我自己仍在学习Python,因此我感谢您的反馈。我将把答案留在这里,因为如果人们偶然发现它,它可能会对Python3有用。我还对你的答案投了赞成票。谢谢Jim,如果我使用3.4,我会使用。@Jim,我不认为这实际上解决了OP的问题:在OP的示例中,
newpath
是一个始终存在的目录。问题是该目录中有一个名为
file.txt
的文件,需要检查该文件是否存在。除此之外,回答得很好。@CodyPiersall谢谢你指出这一点。我自己仍在学习Python,因此我感谢您的反馈。我将把答案留在这里,因为如果人们偶然发现它,它可能会对Python3有用。我还对你的答案投了赞成票。谢谢Jim,如果我使用3.4,我会使用。@Jim,我不认为这实际上解决了OP的问题:在OP的示例中,
newpath
是一个始终存在的目录。问题是该目录中有一个名为
file.txt
的文件,需要检查该文件是否存在。除此之外,回答得很好。@CodyPiersall谢谢你指出这一点。我自己仍在学习Python,因此我感谢您的反馈。我将把答案留在这里,因为如果人们偶然发现它,它可能会对Python3有用。我还对你的答案投了赞成票。