os 模块提供了非常丰富的方法用来处理文件和目
# 显示导入依赖模块的操作系统的名称,如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。
# print(os.name)
# 获取PYTHONPATH环境变量的值
# print(os.getenv('PYTHONPATH'))
# 返回当前系统的登录用户名
# print(os.getlogin())
# 获取当前进程ID
# print(os.getpid())
# 获取当前进程的父进程ID
# print(os.getppid())
# 返回当前系统的CPU数量
# print(os.cpu_count())
# 返回路径分隔符
# print(os.sep)
# # 返回当前系统的路径分隔符
# print(os.pathsep)
# # 返回当前系统的换行符
# print(os.linesep)
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = ‘1’ # 默认,显示所有信息
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = ‘2’ # 只显示 warning 和 Error
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = ‘3’ # 只显示 Error
# 配置环境
os.environ["PATH"]
# 返回适合作为加密使用的、最多3个字节组成的bytes
# print(os.urandom(3))
# 当前路径
# print(os.getcwd())
# os.access() 方法使用当前的uid/gid尝试访问路径
# os.F_OK:是否存在。
# os.R_OK:测试path是否可读。
# os.W_OK:是否可写。
# os.X_OK:是否可执行。
# ret = os.access(r"C:\Users\win10\Desktop\网格员.json", os.R_OK)
# print("F_OK - 返回值 %s"% ret)
"""
# os.chdir() 方法用于改变当前工作目录到指定的路径。
path = r'C:/Users/win10/Desktop/a'
# 查看当前工作目录
retval = os.getcwd()
print("当前工作目录为 %s" % retval)
# 修改当前工作目录
os.chdir(path)
# # 查看修改后的工作目录
retval = os.getcwd()
print("目录修改成功 %s" % retval)
"""
"""
src = '/usr/bin/python'
dst = '/tmp/python'
# 创建软链接
os.symlink(src, dst)
# 使用软链接显示源链接
path = os.readlink( dst )
print path
"""
# os.remove() 方法用于删除指定路径的文件。
# os.removedirs() 方法用于递归删除目录
# os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError
# os.rename() 方法用于命名文件或目录
# os.rename("test","test2")
# os.renames() 方法用于递归重命名目录或文件
# os.renames("aa1.txt","newdir/aanew.txt")
# 显示文件信息
# print(os.stat('demo.py'))
"""
os.path.abspath(path) #返回绝对路径
os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径
os.path.dirname(path) #返回文件路径
os.path.exists(path) #如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.lexists #路径存在则返回True,路径损坏也返回True
os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录
os.path.expandvars(path) #根据环境变量的值替换path中包含的"$name"和"${name}"
os.path.getatime(path) # 返回最近访问时间(浮点型秒数)
os.path.getmtime(path) #返回最近文件修改时间
os.path.getctime(path) # 返回文件 path 创建时间
os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误
os.path.isabs(path) #判断是否为绝对路径
os.path.isfile(path) #判断路径是否为文件
os.path.isdir(path) #判断路径是否为目录
os.path.islink(path) #判断路径是否为链接
os.path.ismount(path) #判断路径是否为挂载点
os.path.join(path1[, path2[, ...]]) #把目录和文件名合成一个路径
os.path.normcase(path) #转换path的大小写和斜杠
os.path.normpath(path) #规范path字符串形式
os.path.realpath(path) #返回path的真实路径
os.path.relpath(path[, start]) #从start开始计算相对路径
os.path.samefile(path1, path2) #判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path) #把路径分割成 dirname 和 basename,返回一个元组
os.path.splitdrive(path) #一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path) #把路径分割为加载点与文件
os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
os.listdir(path) # 返回path指定的文件夹包含的文件或文件夹的名字的列表。
"""
os.system()执行命令
python 拷贝目录内的所有文件及子目录到另外一个目录
import os
import shutil
def get_MD5(file_path):
files_md5 = os.popen('md5 %s' % file_path).read().strip()
file_md5 = files_md5.replace('MD5 (%s) = ' % file_path, '')
return file_md5
def main(path, out):
for files in os.listdir(path):
name = os.path.join(path, files)
back_name = os.path.join(out, files)
if os.path.isfile(name):
if os.path.isfile(back_name):
if get_MD5(name) != get_MD5(back_name):
shutil.copy(name,back_name)
else:
shutil.copy(name, back_name)
else:
if not os.path.isdir(back_name):
os.makedirs(back_name)
main(name, back_name)
补充一些其他包
# import sys
# print(sys.argv) # 获取当前正在执行的命令行参数的参数列表(list)
# print(sys.platform) # 获取当前执行环境的平台,如win32表示是Windows系统,linux2表示是linux平台
# print(sys.path) # 初始化时使用PYTHONPATH环境变量的值
# # print(sys.exit(0)) # 调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
# print(sys.version) # 获取Python解释程序的版本信息
爬虫常用配置软件
import os
import sys
if sys.platform.startswith("linux") or sys.platform.startswith("darwin"):
os.environ["PATH"] = os.environ["PATH"] + ":" + os.getcwd() + "/driver"
else:
os.environ["PATH"] = os.environ["PATH"] + ";" + os.getcwd() + "/driver"