python3—-shutil模块copy、os模块、os.walk()、os.path读取文件夹与文件copy、判断是否为文件夹或文件
一、OS模块对应的知识
参考:https://blog.youkuaiyun.com/moshlwx/article/details/52694397
通过import os模块中提供的功能,实现python对操作系统中文件和目录的操作。习题相关的主要函数有:
os.path.abspath(path),显示path在操作系统中的绝对路径
os.path.join(path, x),将path和x拼接成当前操作系统兼容的路径形式
os.listdir(path),输出当前目录下的文件及子目录为list类型
os.path.isdir(path) and os.path.isfile(path)判断路径为目录还是文件,注意参数为path,之前在这里出现了很多错误,直接输文件名的话,没有该文件就直接显示False
脚本演示情况:
root@kali:~/bwapp# python3.6
Python 3.6.3 (default, Oct 3 2017, 21:16:13)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print(os.path.abspath("/root"))
/root
>>> print(os.path.abspath("/root/bwapp"))
/root/bwapp
>>>
>>> print(os.path.join("/root/bwapp","cp_init.py"))
/root/bwapp/cp_init.py
>>> print(os.listdir("/root/bwapp"))
['cp_init.py', 'cp_file_init.py', 'bWAPP.py', 'session_mangement', 'injection', 'sensitive_data_exposure', 'using_know_vulnerable_components', 'pocdb.py', 'xss', '__pycache__', 'missing_functional_level_access_control', 'security_misconfiguration', 'csrf', 'cookies.txt', 'broken_auth', 'unalidated_redirects_forwards', 'insecure_direct_object_references']
>>>
>>> os.path.isdir("/root/bwapp")
True
>>> os.path.isdir("/root/bwapp/cp_init.py")
False
>>>
>>> os.path.isfile("/root/bwapp/cp_init.py")
True
>>> os.path.isfile("/root/bwapp")
False
>>>
二、使用上述知识点实现
实现代码功能:把某个特定的文件(__init__.py)copy到/root/bwapp目录下所有文件夹中(最简单方式建议使用os.walk())
root@kali:~/bwapp# cat cp_file_init.py
#/usr/bin/python3.6
#--*-- coding:utf-8 --*--
import os
import shutil
def find_cur(path):
#print("current_path is %s" % os.path.abspath(path))
#遍历PATH当前

最低0.47元/天 解锁文章
5613

被折叠的 条评论
为什么被折叠?



