在很多工程中需要对文件自动化进行读写,像是有很多的结构化的文件夹,我们肯定是直接读取文件架里面的文件,今天写一个博客记录一下
对文件的读取使用的库是OS
下面会讲解一些实用的函数,和一些例子
我们想要使用路径的话,一般为了项目的可移植,一般使用相对路径,写在项目中。想要定位到当前路径地址是哪里,可以使用同样的思路,我们也可以先获取到相对地址,再去获取本机的绝对地址:
path = os.path.dirname(os.path.abspath(__file__))
上面的
__file__
:
- 这是一个特殊变量,包含当前脚本文件的相对路径(相对于执行时的工作目录)。如果脚本被执行,
__file__
的值就是这个脚本文件的路径。 -
os.path.abspath(__file__)
:os.path.abspath
是 Python 的os.path
模块中的一个函数,用于将__file__
中的相对路径转换为绝对路径。- 绝对路径是从文件系统的根目录开始的完整路径。
-
os.path.dirname(os.path.abspath(__file__))
:os.path.dirname
是os.path
模块中的另一个函数,用于获取指定路径的目录名。- 这里它获取的是
os.path.abspath(__file__)
返回的绝对路径的目录名,也就是当前脚本文件所在的目录。
通过上面的语句就能够定位到当前的执行代码文件的目录了。
在获取到当前的路径后,我们可以根据这个基础的路径进行操作,对其他的路径进行改写。可以使用这个函数:os.path.join()。这个函数简单来说就是把字符串按照路径的写法拼在一起,可以看到下面的一个例子:
os.path.join('C:/Users','wuzhengxiang/Desktop/','股票数据分析')
'C:/Users\\wuzhengxiang/Desktop/股票数据分析'
Path1 = 'home'
Path2 = 'develop'
Path3 = 'code'
Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1,Path2,Path3)
print ('Path10 = ',Path10)
print ('Path20 = ',Path20)
Path10 = homedevelopcode
Path20 = home\develop\code
根据上面介绍的这个指令,大致就能够找到想要操作的路径了。
但是需要构造的路径信息需要构造,我们还得知道当前目录下有什么文件,总不能每一次都写字典吧,太麻烦了,我们可以用这个函数:
os.listdir(path)
:
os.listdir
是os
模块中的一个函数,它返回指定路径(path
)下的文件和子目录名称的列表。- 该列表中的每个元素都是一个字符串,表示该目录下的文件或子目录的名称。
简单来说就是返回路径下面的子文件和子目录。那么这样就能够获取信息啦。
比如说:
os.listdir('C:/Users/wuzhengxiang/Desktop/股票数据分析')
['ETF研究.py', 'foo.txt', 'pi.txt', 'render.html']
os.listdir('.')
['ETF研究.py', 'foo.txt', 'pi.txt', 'render.html']
后面就是对文件进行读写就好。
读到这里啦,感觉有帮助的话点个关注吧,我会更新更多有用的内容。