美文网首页
python 实现cp命令 复制文件和文件夹

python 实现cp命令 复制文件和文件夹

作者: 末央酒 | 来源:发表于2017-11-15 20:23 被阅读0次

随手写了个复制命令
在linux下可以直接./ 运行哟,windows下应该要删掉第一行,然后 python3 XXX.py

#!/usr/bin/env python3
import sys,getopt,shutil

def copyfile(infile,outfile):
    try:
        shutil.copy(infile,outfile)
    except:
        print('''Can't open this file''')
        return

def copydir(indir,outdir):
    try:
        shutil.copytree(indir,outdir)
    except:
        print('This dir is wrong')

def main():
    if len(sys.argv) < 2:
        print("NO action specified")
    else:
        if sys.argv[1].startswith('--'):
            if sys.argv[1][2:] == 'version':
                print("version 0.1")
            if sys.argv[1][2:] == 'help':
                print('''
                    This program prints files to standard output.
                    Any number of files can be specified.
                    Options include:
                    -- version : Prints the version number
                    -- help : Display this help
                    - i : add input file
                    - o : add output file
                ''')
            else:
                print("Unknow option.")
        else:
            opts,args = getopt.getopt(sys.argv[1:],"i:o:")
            input_file,output_file,input_dir,output_dir = '','','',''
            for op,value in opts:
                if op == "-i" :
                    if '.' in value:
                        input_file = value
                    else:
                        input_dir = value
                elif op == "-o":
                    if '.' in value:
                        output_file = value
                    else:
                        output_dir = value
            if input_file and output_file:
                copyfile(input_file,output_file)
            elif input_dir and output_dir:
                copydir(input_dir,output_dir)
            else:
                print('Input Wrong')
    
        
if __name__ == '__main__':
    main()

sys.argv

getopt

shutil

相关文章

  • linux如何复制移动文件

    linux如何复制文件夹和移动文件夹 linux下文件的复制、移动与删除命令为:cp,mv,rm 一、文件复制命令...

  • Day6-xiaode

    文件操作常用命令--文件复制命令 cp 目录(文件夹)复制: cp -R scripts/ /home/zxx2/...

  • Linux命令cp

    cp 原单词:Copy file(拷贝文件) cp命令主要用于复制文件或目录 语法 复制文件 复制文件夹 -r参数...

  • 常见操作命令

    文件路径切换 cd命令的使用文件查看命令 ls命令文件复制粘贴 cp 复制文件 mv剪贴文件文件/文件夹的操作to...

  • 总结常见操作命令

    文件路径切换 cd命令的使用文件查看命令 ls命令文件复制粘贴 cp 复制文件 mv剪贴文件文件/文件夹的操作t...

  • python 实现cp命令 复制文件和文件夹

    随手写了个复制命令在linux下可以直接./ 运行哟,windows下应该要删掉第一行,然后 python3 XX...

  • nginx基本命令

    复制命令:cp -r 要复制的文件名 到文件夹名/ 当复制有多层目录时要加-r 不然回报cp:omitting ...

  • 5月3日第二次早课

    1.移动文件或文件夹是什么命令 mv 2.复制文件或文件夹是什么命令参数 cp 3.强制删除文件的命令参数 ...

  • 若泽早课—linux命令(5.03)

    1.移动文件、文件夹的命令 mv (移动以后原路径不存在了) 2.复制文件、文件夹的命令参数 文件:cp 文件...

  • linux复制文件,文件夹

    文件或文件夹的复制命令 1.cp命令 命令:cp dir1/a.doc dir2 表示将dir1下的a.doc文件...

网友评论

      本文标题:python 实现cp命令 复制文件和文件夹

      本文链接:https://www.haomeiwen.com/subject/lvihvxtx.html