简介
之前由于文件读写操作不会,我的爬虫项目爬取的链接根本无法保存。现在,终于学会了,现在猛然感觉 it’s so easy。
获取文件夹信息
本次Python版本仍是2.7.13。用到的模块是OS模块。读取文件夹的信息有两个函数可以用到,其中一个是 listdir()
,它只能把当前目录的信息获取到,而另一个 walk()
,则可以把所有层次的目录信息都逐一汇报出来。用法是: os.listdir("目录路径")
, os.walk("目录路径")
。
演示效果
- 获取我的电脑上的E盘的Envs目录,
E:\Envs
,该目录是我的Python虚拟环境目录import os print os.listdir("E:\\Envs")
在Windows下Python中路径需要双反斜杠。执行结果如下:
['ArticleSpider', 'article_spider', 'ImageSpider', 'image_spider', 'ipython-5.4.1-py2-none-any.whl', 'jiandan.py', 'Python27', 'Python35']
从上面的结果可以看出这个函数只能获取当前路径下的信息
- 获取
E:\Envs
下的所有层次目录信息,就需要用到walk()
, 由于这个路径下的文件有点多,我就直接写进txt文件中。代码如下:import os # print os.listdir("E:\\Envs") for root, dirs, files in os.walk("E:\\Envs"): # print root, dirs, files open("doc.txt", "a").write("%s %s %s" % (root, dirs, files)+"\n")
%s表示的是格式化的意思。执行结果如下:
注意事项
在本次的试验中,有一点需要注意,就是 open("doc.txt", "a")
,open函数的模式。前一个字符串是文件名,而后一个则是读写模式。这里我用的是a,下面是我搜集的意思,仅供参考!
1、r 打开只读文件,该文件必须存在。
2、r+ 打开可读写的文件,该文件必须存在。
3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
如有错误,请指教。
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了