Python中有哪些自动化方法

  • 时间:
  • 浏览:28
  • 来源:恰卡网

导读Python中有哪些自动化方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 python可以做什么 Python是一种编程语言...

Python中有哪些自动化方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。

一、遍历文件夹

代码如下,大家可以根据自己的路径进行修改

importos

fordirpath,dirnames,filenamesinos.walk(r'C:\\ProgramFiles(x86)'):
print(f'打开文件夹{dirpath}')#当前文件夹路径
ifdirnames:
print(dirnames)#包含文件夹名称[列表形式]
iffilenames:
print(filenames)#包含文件名称[列表形式]
print('-'*10)

当手上的需求明确有获取给定路径各级文件夹下所有符合条件的文件,并进行相应的批处理操作时,即可使用os.walk

二、目标路径是否是文件

有时我们需要判断一个目录下是否存在文件也可以使用os模块。

给定一个目标路径path,通过一行代码就能够判断这是文件还是文件夹路径

importos

path='xxx'
print(os.path.isfile(path))

三、获取路径中的文件名

os.path.basename可以直接从绝对路径中获取最后的文件名,当然如果用传统的字符串切割方式也可以,即path.split('\\')[-1]

importos

path='xxx'
print(os.path.basename)

四、创建文件夹

创建文件夹的代码非常常用,因为往往生成的新文件都希望有个新的文件夹存储,代码如下:

importos

dirpath='xxx'
os.mkdir(dirpath)

但是,如果希望创建的文件夹已经存在,再运行os.mkdir()则会报错而终止代码。为了避免这一情况的发生,可以在创建文件夹之前先判断文件夹是否存在。

用到的代码是os.path.exists,只有当路径不存在(即 os.path.exists返回的结果是False时),才会创建:

importos

dirpath='xxx'
ifnotos.path.exists(dirpath):
os.mkdir(dirpath)

五、获取桌面路径

获取桌面路径也是非常常用的操作,可以使用os.path.join(os.path.expanduser("~"), 'Desktop')获取桌面的绝对路径。

这样做的好处是可以把数据放在桌面上,在不同的电脑上都能调用代码对数据进行处理。如果是在一条电脑上把桌面路径固定在字符串中,则换一台电脑就必须修改桌面路径。代码如下:

importos

desktop_path=os.path.join(os.path.expanduser("~"),'Desktop')
print(desktop_path)

当然把上面的代码包装成一个函数GetDesktopPath()需要时调用它会更加方便

importos

defGetDesktopPath():
returnos.path.join(os.path.expanduser("~"),'Desktop')

六、重命名文件/文件夹

需要用到os.rename()方法,下面的代码示例中分别演示如何重命名文件和文件夹

importos

os.rename('practice.txt','practice_rename.txt')#重命名文件
os.rename('文件夹1','文件夹2')#重命名文件夹

七、批处理文件 - 1

除了前面的os.walk之外,有其他的os模块下方法可完成获取指定路径的全部或符合条件的文件(非遍历各级文件夹的需求),还可以使用下面两个代码第一种用到的方法是os.scandir(),使用如下:

importos

path='xxx'
forfileinos.scandir(path):
print(file.name,file.path)

八、批处理文件 - 2

上面代码最后输出的是给定路径下各内容的名字、绝对路径第二种方法使用os.listdir(),它比os.scandir()简单一些,可直接调用输出名称而非路径:

importos

path='xxx'
forfileinos.listdir(path):
print(file)

九、移动文件/文件夹

shutil也是经常出现在办公自动化场景中的模块,我常用的就是移动文件/文件夹

需要用到shutil.move方法,下面的代码示例中分别演示如何移动文件和文件夹:

importshutil

shutil.move(r'.\practice.txt',r'.\文件夹1/')
shutil.move(r'.\practice.txt',r'.\文件夹1/new.txt')

注意到上面后两行代码的区别吗?前一行是将目标文件移动到目标文件夹里,而后一行,在将目标文件移动到目标文件夹里的同时,能够对其进行重命名

也就是说,如果我们需要移动某个或某些文件到新的文件夹,并且需重命名文件,则我们并不需要用os.rename先命名文件再用shutil.move将其移动的指定文件夹,而是可以用shutil.move一步到位

十、批处理文件 - 3

最后要介绍的是glob模块,也是办公自动化必须要掌握的一个模块,同样可以用于批处理文件。

glob最重要的功能就是搜索获取同一级或者各子级下符合条件的文件(绝对路径),非常适合写批处理的代码。

有时候我们需要对大量文件进行相同操作,在写完针对一份文件的操作后,只需要加上几行代码,就可以完成批处理全部文件的工作。大致代码框架如下:

importglob

forfileinglob.glob('**/*',recursive=True):
print(file)

glob.glob()是一个非常重要的方法,能够获取给定路径下文件的绝对路径,并且接受「通配符」搜索,大大拓宽了灵活程度,*表示任意字符长度,**/*的使用表示用通配符指代给定路径下的任何一层,recursive参数允许遍历搜索。

关于Python中有哪些自动化方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡网行业资讯频道了解更多相关知识。

猜你喜欢

飞利浦278E1显示器体验如何(飞利浦278E1显示器体验评测)

飞利浦278E1显示器体验如何,飞利浦278E1显示器体验评测 目前27寸显示器已经成为了市面上的主流产品。这样尺寸的显示器在桌面上,整体的观感更好,再搭配了更高的分辨率,让显示器可以显示

2021-06-22

Python(中的单分派泛函数你真的了解吗)

Python,中的单分派泛函数你真的了解吗 泛型,如果你学过Java ,应该对它不陌生吧。但你可能不知道在 Python 中(3.4+ ),也可以实现简单的泛型函数。 在Python中只能实现基于单个(第一个)参

2021-06-22

Java8新特性:函数式编程

Java8新特性:函数式编程 首先需要清楚一个概念:函数式接口;它指的是有且只有一个未实现的方法的接口,一般通过FunctionalInterface这个注解来表明某个接口是一个函数式接口。函数式接口是

2021-06-22

Python实现DBSCAN聚类算法并样例测试

Python实现DBSCAN聚类算法并样例测试 什么是聚类算法?聚类是一种机器学习技术,它涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,

2021-06-22