将数据从嵌套的源目录复制到目标目录

时间:2019-01-08 11:09:42

标签: python python-3.x

我才刚刚开始学习python,并坚持对下面的情况有所了解,希望您能忘记我的愚蠢错误。

我有目录路径... WHERE kk_aj_tbl_Arrangemang.ArrangemangStatusID = @arrStatusTyp AND kk_aj_tbl_arridtoContent.Version=1 AND kk_aj_tbl_Konstformtyp.KonstformID IN (@roll1, @roll2, @roll3, @roll4) AND ( kk_aj_tbl_content.Rubrik LIKE '%'+@searchval+'%' OR kk_aj_tbl_content.Underrubrik LIKE '%'+@searchval+'%' OR kk_aj_tbl_content.Organisation LIKE '%'+@searchval+'%' ) ,其中还有我的月份目录,因为我有一个月份为1月的目录,并且该目录又按日期方式包含了1月月份的多个目录,这些目录最后包含了多个目录带有import { Prisma } from '../generated/prisma-client'; export interface Context{ prisma: Prisma; } const user = (parent, args, context: Context, info) => context.prisma.bodyweight({id: parent.id}).user() 扩展名的系统名称的文件。因此,我要实现的是在当前月份之前遍历目录,并将txt文件的所有内容复制到目标目录上的文件/home/sysmgt/rmlogs/上,因为这将是一个正在运行的脚本每个间隔,因此需要检查是否已复制的数据内容(文件内容)无法覆盖。

text

我尝试使用/scratch/rm_logs/$ cd /home/sysmgt/rmlogs/ [karn@noi-karn rmlogs]$ ls -ltrh | tail drwxr-xr-x 70 nfsnobody nfsnobody 8.0K Nov 25 17:04 November drwxr-xr-x 88 nfsnobody nfsnobody 8.0K Dec 16 15:38 June drwxr-xr-x 33 nfsnobody nfsnobody 4.0K Dec 25 05:12 December drwxr-xr-x 11 nfsnobody nfsnobody 4.0K Jan 8 15:01 January drwxr-xr-x 62 nfsnobody nfsnobody 8.0K Jan 8 15:37 July $ cd January $ ls -ltrh total 1.9M drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 1 23:59 Jan_01_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 2 23:59 Jan_02_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 3 23:59 Jan_03_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 4 23:59 Jan_04_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 5 23:59 Jan_05_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 6 23:59 Jan_06_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 7 23:59 Jan_07_19 drwxr-xr-x 2 nfsnobody nfsnobody 4.0K Jan 8 15:01 Jan_15_19 drwxrwxrwx 2 nfsnobody nfsnobody 228K Jan 8 16:18 Jan_08_19 $ cd Jan_08_19 $ ls -ltrh| tail -rw-r--r-- 1 nfsnobody nfsnobody 26K Jan 8 16:03 dbfchw091.txt -rw-r--r-- 1 nfsnobody nfsnobody 238 Jan 8 16:07 dbfcnl030.txt -rw-r--r-- 1 nfsnobody nfsnobody 695 Jan 8 16:10 dbfcib069.txt -rw-r--r-- 1 nfsnobody nfsnobody 1.6K Jan 8 16:13 dbfchw126.txt -rw-r--r-- 1 nfsnobody nfsnobody 401 Jan 8 16:13 dbfcib001.txt -rw-r--r-- 1 nfsnobody nfsnobody 7.0K Jan 8 16:15 dbfcsb003.txt -rw-r--r-- 1 nfsnobody nfsnobody 44K Jan 8 16:16 klno-foxvcron-in2.txt -rw-r--r-- 1 nfsnobody nfsnobody 3.7K Jan 8 16:17 dbfcnl059.txt ,但没有得到。

glob

错误:

shutil.copy()

1 个答案:

答案 0 :(得分:1)

这是您的答案:

for filename in glob.glob("/home/sysmgt/rmlogs/January/*/*.txt"):
    shutil.copy(filename, "/scratch/rm_logs/")

如果要避免第二次运行时覆盖文件,可以执行以下操作:

for filename in glob.glob("/home/sysmgt/rmlogs/January/*/*.txt"):
    if not os.path.exists("/scratch/rm_logs/" + os.path.basename(filename)):
        shutil.copy(filename, "/scratch/rm_logs/")