python基操3

前面大概写了一些基本知识, 详细的内容网上很多这里不多说
若要进行爬虫的相关操作, 还需要一些

文件操作的知识


python文件操作 文件打开与关闭

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
完整的语法格式

open(file, mode='r', buffering=-1, encoding=None, errors=None,
			 newline=None, closefd=True, opener=None)

参数说明:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式

buffering: 设置缓冲 可取值有0,1,-1三个,
0代表buffer关闭(只适用于二进制模式)
1代表line buffer(只适用于文本模式)
-1表示初始化的buffer大小;
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: f = open(file,mode) #打开文件
f.close() #关闭文件
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读; 不存在则创建;存在则只追加内容】,文件指针自动移到文件尾。
"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】
w+,写读【可读,可写】,消除文件内容,然后以读写方式打开文件。
x+ ,写读【可读,可写】
a+, 写读【可读,可写】,以读写方式打开文件,并把文件指针移到文件尾。
"b"表示以字节的方式操作,以二进制模式打开文件,而不是以文本模式。
rb 或 r+b
wb 或 w+b
xb 或 w+b
ab 或 a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码


python文件操作 文件读写

文件内容的读取
read() #一次读取全部的文件内容。

read(num)#读取指定字符个数

readline() #每次读取文件的一行。按行读取,但是一次只读取一行。

readlines() #读取文件的所有行,返回一个字符串列表。按行读取,一次性读取所有内容,返回一个列表,每一行内容作为一个元素。

文件写入
write() #参数就是需要写入的内容
writelines() #可传一个可迭代


上下文管理with语句

当你做文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。

正常情况下,代码如下:

file = open("/tmp/foo.txt")
data = file.read()
file.close()

这里有两个问题。一是可能忘记关闭文件句柄;二是文件读取数据发生异常,没有进行任何处理。

然而with可以很好的处理上下文环境产生的异常。下面是with版本的代码:

with open("/tmp /foo.txt") as file:
    data = file.read()

Os常用操作

1. 文件重命名
rename(需要修改的文件名, 新的文件名)

import os
os.rename("毕业论文.txt", "毕业论文-最终版.txt")

2. 删除文件

import os
os.remove("毕业论文.txt")

3. 创建文件夹

import os
os.mkdir("张三")  #只能生成单级目录
os.makedirs('dir1/dir2')  #可生成多层递归目录

4.删除文件夹

os.rmdir('dirname')  #删除单级空目录,若目录不为空则无法删除,报错
os.removedirs('dirname1')  #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

5. 获取目录列表

import os
os.listdir("./")  #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

Os.path常用操作

1.目录分割

os.path.split(path)   #将path分割成目录和文件名二元组返回
os.path.dirname(path)    #返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)        #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

2.判断路径文件存在

os.path.exists(path)    #如果path存在,返回True;如果path不存在,返回False
os.path.isfile(path)    #如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)    #如果path是一个存在的目录,则返回True。否则返回False

真是超级多…

一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。
1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
2.返回指定目录下的所有文件和目录名:os.listdir()
3.函数用来删除一个文件:os.remove()
4.删除多个目录:os.removedirs(r“c:\python”)
5.检验给出的路径是否是一个文件:os.path.isfile()
6.检验给出的路径是否是一个目录:os.path.isdir()
7.判断是否是绝对路径:os.path.isabs()
8.检验给出的路径是否真地存:os.path.exists()
9.返回一个路径的目录名和文件名:os.path.split()     eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
10.分离扩展名:os.path.splitext()
11.获取路径名:os.path.dirname()
12.获取文件名:os.path.basename()
13.运行shell命令: os.system()
14.读取和设置环境变量:os.getenv() 与os.putenv()
15.给出当前平台使用的行终止符:os.linesep    Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
16.指示你正在使用的平台:os.name       对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
17.重命名:os.rename(old, new)
18.创建多级目录:os.makedirs(r“c:\python\test”)
19.创建单个目录:os.mkdir(“test”)
20.获取文件属性:os.stat(file)
21.修改文件权限与时间戳:os.chmod(file)
22.终止当前进程:os.exit()
23.获取文件大小:os.path.getsize(filename)
 
'''
import os
 
os.getcwd()  # 获取当前工作目录,即当前python脚本工作的目录路径
#os.chdir("dirname")  # 改变当前脚本工作目录;相当于shell下cd
os.chdir('c:/')
os.curdir  # 返回当前目录: ('.')
os.pardir  # 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')  # 可生成多层递归目录
os.removedirs('dirname1')  # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')  # 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')  # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')  # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  # 删除一个文件
os.rename("oldname", "newname")  # 重命名文件/目录
os.stat('path/filename')  # 获取文件/目录信息
os.sep  # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep  # 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep  # 输出用于分割文件路径的字符串
os.name  # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  # 运行shell命令,直接显示
os.environ  # 获取系统环境变量
path = 'c:\a\b\c\d\e.txt'
#os.path.abspath(path)  #返回path规范化的绝对路径
os.path.split(path)  # 将path分割成目录和文件名二元组返回
os.path.dirname(path)  # 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  # 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  # 如果path是绝对路径,返回True
os.path.isfile(path)  # 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  # 如果path是一个存在的目录,则返回True。否则返回False
#os.path.join(path1[, path2[, ...]])  #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  # 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  # 返回path所指向的文件或者目录的最后修改时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值