Python基础之OS库

Python基础之OS库

1.文件与文件路径

1.os.path.join()拼接文件夹与文件

  • 将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join()就会返回一个文件路径的字符串
>>> import os
>>> os.path.join("usr","bin","spam")
'usr\\bin\\spam'
  • 这里我们可以注意到,倒斜杠有两个,其中第一个倒斜杠是转义字符
  • 这里有一个很好用的方法,如果我们需要在一个文件夹里面创建多个文件,那么我们可以用文件名列表的的文件名称添加到文件夹后面,说起来好像有点绕。。。看代码
>>>Files_name = ["mingming.txt","wangwang.jpg","dongdong.csv"]
>>>for file in Files_name:
	print(os.path.join('C:\\users\\python',file))
C:\users\python\mingming.txt
C:\users\python\wangwang.jpg
C:\users\python\dongdong.csv

2.os.chdir()当前工作目录

  • 所有文件都是自己的一个“当前的工作目录”,如果没有设定从根文件夹开始工作的文件名或路径,都假定从当前文件目录开始的,我们可以用os.getcwd()来显示当前的工作路径。
>>>import os
>>> print(os.getcwd())
C:\Users\python
>>> os.chdir("test_chdir")
C:\Users\python\test_chdir

3.os.makedirs()创建文件夹

  • 程序可以利用os.makedirs()创建新的文件夹,但需要确定文件夹不存在,makedies()可以实现递归创建文件夹,创建所有必要的中间文件夹,确保路径的正确。
import os
os.makedirs('C:\\users\\python\\test1\\test2')

4.os.path模块

  • os.path.abspath(path):将返回参数的绝对路径的字符串,相对路径转换成绝对路径。
  • os.path.isabs(path):如果参数是一个绝对路径,则返回一个Ture;参数如果是相对路径,则返回False
>>>import os
>>> print(os.getcwd())
C:\\users\\python\\test1
>>>print(os.path.abspath("."))
C:\\users\\python\\test1\\test2
>>>print(os.getcwd())
C:\\users\\python\\test1

我们可以发现abspath()方法可以返回修改后的值,但不会修改当前的工作目录

>>>import os
>>>os.path.ispath(".")
False
>>>os.path.ispath("os.path.ispath('.')")
True
  • os.path.relpath(path,start): 将返回从start路径到path的相对路径的字符串,如果没有提供start,就默认从当前工作目录作为开始路径。
  • os.path.basename: 获取目录的基本名称,跟在路径种最后一个斜杠,它和文件名一样
  • os.path.dirname: 获取目录名称。
>>>import os
>>>path = "C:\\Window\\System32\\calc.exe"
>>>print(os.path.dirname(path))
C:\Window\System32
>>>print(os.path.dirname("C:\\Window\\System32\\"))
C:\Window\System32


>>>import os
>>>path = "C:\\Window\\System32\\calc.exe"
>>>print(os.path.basename(path))
calc.exe
>>>print(os.path.dirname(path))
C:\Window\System32
>>>print(type(os.path.dirname(path)))

>>>print(os.path.split(path))
('C:\\Window\\System32', 'calc.exe')

这里我们可以发现,basename()和dirname()方法返回的是一个字符串,而split()方法返回的是一个元组类型的数据。

你可能感兴趣的:(python全栈学习)