这个,首先是要区分如何文件路径是什么?什么是相对路径?什么是绝对路径?linux的路径和windows的有啥区别;
相对路径其实就是说,相对于本路径下的一个路径,在linux有一个很好的体检就是.\和..\,这就是相对路径的体现绝对路径就是从根目录开始,对于windows来说就是从某个影片开始,就是绝对路径
其实,这里有一点很关键,也需要注意的是,linux和windows的路径是不一样的
linux是\做分隔符,但是windows是/做分隔符,并且由于字符串反义的问题,需要//来进行标识
但是我们还有个好的办法就是,有os模块可以利用
如:
import os
myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
for filename in myFiles:
print(os.path.join('C:\\demo\\exercise', filename))
输出结果:
C:\demo\exercise\accounts.txt
C:\demo\exercise\details.csv
C:\demo\exercise\invite.docx
os.path.join一定要记住,用的很多,尤其当需要某个路径的时候,真的用的还是很多的
下面要学习的自然就是如何对文件进行基本的操作
首先,学会的是删除一个文件,os.remove("xxx")即可
然后看一下文件的基本操作:
文件的应用级操作可以分为以下 3 步,每一步都需要借助对应的函数实现:
打开文件:使用 open() 函数,该函数会返回一个文件对象;
对已打开文件做读/写操作:读取文件内容可使用 read()、readline() 以及 readlines() 函数;向文件中写入内容,可以使用 write() 函数。
关闭文件:完成对文件的读/写操作之后,最后需要关闭文件,可以使用 close() 函数。
一个文件,必须在打开之后才能对其进行操作,并且在操作结束之后,还应该将其关闭,这 3 步的顺序不能打乱。
=================================================
file = open("a.txt",“a+”,encoding="utf-8")
对于open函数,这一个就够了,一个函数就代表了如何打开一个文件,以什么样的方式打开文件,file是返回的对象;这就是C和面向对象的区别;a+表示追加,其他的权限,我觉得可以后面再了解,学过C基础的话那就不用了解了,和C一样,但是个人认为a+权限是最喜欢用的;
再来看看read函数,这里我们需要讲的比较多
首先,我们要讲一下,二进制的方式打开文件,和文本的方式打开文件的区别
文本模式,即所谓的原样输出,按照字符串文本进行输出,二进制模式则是将字符转换成为二进制的方式,在open的时候,为ab+(即带有b)则认为是二进制的方式打开文本;
f.read(size)中间为要读取的文字多少,比如是6,就代表从头读取6个字符;当然可以不带有size,如果不带有size的话,那么就会把整个文件的内容都进行读取;如果size大小查过文本的大小,那么也会将整个文本都进行读取;
#以二进制形式打开指定文件
f = open("my_file.txt",'rb+')
#输出读取到的数据
print(f.read())
#关闭文件
f.close()
再看来readline和readlines,readline是读取文件的某一行,和read一样,可以带有参数,readlines是读取所有的行,返回的是把每一行都当时一个列表的元素,最终返回的是列表;
f = open("my_file.txt")
读取一行数据
byt = f.readline()
print(byt)
byt = f.readlines()
print(byt)
接下来就是write函数
f.write(“xxxx”)即将该内容写入到文本中,
同时还有writelines函数,writelines函数是将字符串列表的内容写入到文本里;然后写成多行
f = open("a.txt", 'w')
f.write("写入一行新数据")
f.flush()#刷新缓冲区
f.close()#关闭该字符串,就没必要再重新解释了
f = open('a.txt', 'r')
n = open('b.txt','w+')
n.writelines(f.readlines())#轻松实现了文本复制;即将内容读成一个列表,然后再写入
n.close()
f.close()
================================================================
其实文章写到这里,文件操作的部分基本上已经总结的差不多了,不过还有两个地方是可以查看一下和总结一下的
f.tell()
f.seek()
这两个我觉得可以暂且的后面再总结,用到了看一下即可,和C语言很相似,即移动文件光标位置,这个不是关键
关键是第二个,关于with as的用法
with open('a.txt', 'a') as f:
f.write("\nPython教程")
这个例子说明了如何使用with as,这种用法可以保证及时没有调用fclose也是可以的,即如果文件操作发生了异常,也是可以正常对文件进行编辑
到此为止,python的基本操作的介绍告一段落,下面讲述的则是如何并发编程