gpt4 book ai didi

python - 在python中复制选定的文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:50 25 4
gpt4 key购买 nike

我正在尝试编写一个 Python 脚本,将扩展名为“.txt”的文件从一个文件夹复制到另一个文件夹。我在命令行中输入以下内容:

python C:/Users/Username/Desktop/folder_name/copyselect.py C:/Users/Username/Desktop/folder_name C:Users/Username/Desktop/new_folder

这是代码:

import os
import sys
import shutil

def main():
src = sys.argv[1]
dst = sys.argv[2]

for filenames, dirpath, dirnames in os.walk(src):
if not os.path.isdir(dst):
os.makedirs(dst)
for filename in filenames:
if filename.endswith('.txt'):
shutil.copy2(os.path.join(src, filename), dst)

if __name__ == "__main__":
main()

我不断收到以下错误消息:

IO Error: [Errno 2] No such file or directory: 'C:/Users/Username/Desktop/folder_name/C'

为什么这个神秘的“C”出现在“folder_name”后面?它似乎来自命令行中最后一个文件路径中的“C”。这是 Windows 的事情吗?我该如何修复此代码?

最佳答案

您从os.walk获得了结果的顺序颠倒了。应该是:

  for dirpath, dirnames, filenames in os.walk(src):
if not os.path.isdir(dst):
os.makedirs(dst)
for filename in filenames:
if filename.endswith('.txt'):
shutil.copy2(os.path.join(src, filename), dst)

并且您在第二个参数中缺少斜线。应该是:

python "C:/Users/用户名/Desktop/folder_name/copyselect.py""C:/Users/用户名/Desktop/folder_name""C:/Users/用户名/Desktop/new_folder"

关于python - 在python中复制选定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381077/

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