python之IO同步编程Part2

1.获取环境变量中的x的值,如果不存在就返回y

os.environ.get('x', ‘y’)```

2.复制文件的函数在os模块中不存在!原因是复制文件并非由操作系统提供的系统调用。shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充。

shutil.copyfile(src, dst)
复制文件内容(不包含元数据)从src到dst。 DST必须是完整的目标文件名;```
什么是元数据
任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性

3.Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中

os.path.isdir(x)判断指定路径是否存在且是一个目录
os.path.isfile(x)判断指定路径是否存在且是一个文件```




>**练习!!!**
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

在我近三个小时努力,n次出错n次修改以后终于
写出了一个程序 欢迎大佬们评论吐槽

def getfile(path,filename):
if os.path.isfile(path+"/"+filename):
print(path+"/"+filename)
else:
for x in os.listdir(path):
if os.path.splitext(x)[1] == '':
if os.path.isfile(path+"/"+x+"/"+filename):
print(path+"/"+x+"/"+filename)
if os.path.splitext(x)[1] == '':
if not os.path.isfile(path+"/"+x+"/"+filename):
getfile(path+"/"+x,filename)

你可能感兴趣的:(python之IO同步编程Part2)