>>> import os >>> os.path.join('program','python','favorite') 'program\python\favorite' >>>注意,其中有一个倒斜杠起转义作用。 这里还有一个问题,博主没有弄清楚,有大神知道的,麻烦评论区留言,万分感谢
>>> import os >>> os.path.join('D:','python','favorite')#结果和预料的不太一样!! 'D:python\favorite' >>> os.path.join('D:\','python','favorite') 'D:\python\favorite'2)os.getcwd()和os.chdir()
os.getcwd():获取当前工作路径的字符串。
os.chdir():改变当前工作路径。
>>> import os >>> os.getcwd() 'D:\Python3.3.2' >>> os.chdir('D:\python\test') Traceback (most recent call last): File "3)绝对路径和相对路径", line 1, in os.chdir('D:\python\test') FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'D:\python\test' >>> D盘新建一个文件夹python,在python文件夹新建test文件夹。 >>> os.chdir('D:\python\test') >>> os.getcwd() 'D:\python\test' >>>
目录文件:D:pythontesttest.py
当前目录:D:pythontest 为例:
>>> import os >>> os.getcwd() 'D:\python\test' >>> os.chdir('D:\python\new') Traceback (most recent call last): File "5)绝对路径和相对路径之间的相护转换和判断 ①:相对路径转绝对路径— os.path.abspath(path)", line 1, in os.chdir('D:\python\new') FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'D:\python\new' >>> os.makedirs('D:\python\new') >>> os.chdir('D:\python\new') >>> os.getcwd() 'D:\python\new' >>>
>>> import os >>> os.getcwd() 'D:\python\new' >>> os.path.abspath('..\') 'D:\python' >>>②:绝对路径转相对路径— os.path.relpath(path,start)
>>> import os >>> os.getcwd() 'D:\python\new' >>> #不提供start,使用当前工作目录作为开始路径 >>> os.path.relpath('D:\python') '..' >>> #提供start,start的路径为D:\python >>> os.path.relpath('D:\python','D:\python') '.' >>>③:相对/绝对路径的判断— os.path.isabs(path)
绝对路径:D:pythontest 返回 True
相对路径:… 返回 False
>>> import os >>> os.path.isabs('..\') False >>> os.path.isabs('D:\python\test') True >>>6)查看文件大小和文件夹内容 ①:os.listdir(path)— 返回该文件名下的文件名列表
>>> import os >>> os.listdir('D:\python\test') ['exit.py', 'hello.py', 'test.py'] >>>②:os.path.getsize(path)— 返回path参数中文件的字节数
>>> import os >>> os.path.getsize('D:\python\test\test.py') 296 >>> os.path.getsize('D:\python\test\hello.py') 352 >>>7)检查路径的有效性 ①:os.path.exists(path) 如果path参数所指的文件或文件夹存在,调用方法将返回True,否则False
>>> import os >>> os.listdir('D:\python') ['new', 'test'] >>> os.path.exists('D:\python\new') True >>> os.path.exists('D:\python\old') False >>> os.listdir('D:\python\test') ['exit.py', 'hello.py', 'test.py'] >>> os.path.exists('D:\python\test\exit.py') True >>> os.path.exists('D:\python\test\start.py') False >>>②:os.path.isfile(path)
>>> import os >>> os.listdir('D:\python') ['new', 'test'] >>> os.path.isfile('D:\python\new') False >>> os.path.isfile('D:\python\old') False >>> os.listdir('D:\python\test') ['exit.py', 'hello.py', 'test.py'] >>> os.path.isfile('D:\python\test\test.py') True >>> os.path.isfile('D:\python\test\abc.py') False >>>③:os.path.isdir(path)
>>> import os >>> os.listdir('D:\python') ['new', 'test'] >>> os.path.isdir('D:\python\new') True >>>2、文件读写过程 1)读写文件的三个步骤:
1、调用open()函数,返回一个File对象。 2、调用File对象的read()或write()方法 2、调用File对象的close()方法,关闭该文件。2)open()函数之打开文件的三种模式 ①:读模式{open(‘文件路径’,‘r’)或open(‘文件路径’)}:
>>> file=open('D:\python\new\hello.txt') >>> file=open('D:\python\new\hello.txt','r')②:写模式{open(‘文件路径’,‘w’)}:
>>> file=open('D:\python\new\hello.txt','w')③:添加模式{open(‘文件路径’,‘a’)}:
>>> file=open('D:\python\new\hello.txt','a')3)读取文件内容之read()函数和readlines()函数
D:pythonnewhello.txt 文本内容如下:
hello hi happy day
read()函数读取文件:返回格式为字符串
>>> file=open('D:\python\new\hello.txt') >>> file.read() 'hellonhinhappy day'
readlines()函数读取文件:返回格式为字符串列表
>>> file=open('D:\python\new\hello.txt') >>> file.readlines() ['hellon', 'hin', 'happy day']4)write()函数之写入文件 如果传递给open()的文件名不存在,写模式和添加模式都会创建一个新的空文件夹。
写模式下写入文件
>>> file=open('D:\python\new\hello.txt') >>> file.read() 'hellonhinhappy day' >>> file=open('D:\python\new\hello.txt','w') >>> file.write('new file details') 16 >>> #在写入文件时,必须调用close()方法,然后才能再次打开文件,否则报错!!!! >>> file.close() >>> file=open('D:\python\new\hello.txt') >>> file.read() 'new file details'这里的16是返回写入字符的个数。
添加模式下写入文件
>>> file=open('D:\python\new\hello.txt') >>> file.read() 'new file details' >>> file=open('D:\python\new\hello.txt','a') >>> file.write('n new file detail add') 21 >>> #在写入文件时,必须调用close()方法,然后才能再次打开文件,否则报错!!!! >>> file.close() >>> file.read() 'new file detailsn new file detail add' >>> file=open('D:\python\new\hello.txt') >>> file.readlines() ['new file detailsn', ' new file detail add'] >>>write()方法不会像print()方法那样,在字符串的末尾自动添加换行字符!!!! 3、用shelve模块保存变量 1)保存变量
>>> import shelve >>> file=shelve.open('D:\python\new\mydata') >>> name=['Amy','Sum','DaMing'] >>> file['name']=name >>> file.close()
此时会在D:pythonnew目录下生成三个新文件(二进制的shelf文件):
mydata.bak; mydata.dat; mydata.dir
如图:
2)读取变量>>> import shelve >>> file=shelve.open('D:\python\new\mydata') >>> file['name'] ['Amy', 'Sum', 'DaMing'] >>> file.close()3)查看存储shelf值的键和值
新存储一个变量:age
>>> file=shelve.open('D:\python\new\mydata') >>> age=['16','17','18'] >>> file['age']=age >>> file['age'] ['16', '17', '18'] >>> file.close()
查看存储shelf值的键和值:shelf中的键和值类似列表的键和值,但不是真正的列表,所以需要将其list()函数,取得列表形式。
>>> file=shelve.open('D:\python\new\mydata') >>> file.keys() KeysView()#返回的是键的存储地址 >>> list(file.keys()) ['name', 'age'] >>> file.values() ValuesView( )#返回的是值的存储地址 >>> list(file.values()) [['Amy', 'Sum', 'DaMing'], ['16', '17', '18']] >>> file.close()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)