- os.sep可以不需要考虑python代码是处于哪个平台运行,比如在windows下路径写入应为“\”,而在linux下路径写入为“/”,如果路径代码中加入os.sep则不需要考虑平台的问题。例如:
wdir = 'weights' + os.sep # weights dir
再例如:
data_dir=os.sep.join(['hello','world'])
#输出为hello\world或者hello/world
- os.makedirs用于递归创建目录,如果子目录创建失败则会抛出OSError的异常,Windows上Error183即为目录已经存在的异常错误。
语法格式:
os.makedirs(path,exit_ok=True)
'''
path--需要递归创建的目录,可以使相对或者绝对路径
exit_ok--path不存在时创建目录
'''
- with open()as f
#文件写操作
with open('data.txt','w')as f:
f.write("hello,world")
#文件读操作
with open(r'filename.txt')as f:
data_user=pd.read_csv(f)
相关的参数:
r:以只读方式打开文件。文件指针放在文件开头,这是默认模式。
rb:以二进制格式打开文件用于只读。文件指针将会放在文件开头,这是默认模式
r+打开文件用于读写,文件指针将放在文件开头
w: 打开文件只用于写入。如果文件存在则覆盖,文件不存在则创建文件
wb:以二进制格式只用于写入文件
w+:打开文件用于读写
wb+: 二进制打开文件用于读写,
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
file对象的属性:
file.read([size]) 将文件数据作为字符串返回,可选参数size控制读取的字节数
file.readlines([size]) 返回文件中行内容的列表,size参数可选
file.write(str) 将字符串写入文件
file.writelines(strings) 将字符串序列写入文件
file.close() 关闭文件
file.closed 表示文件已经被关闭,否则为False
file.mode Access文件打开时使用的访问模式
file.encoding 文件所使用的编码
file.name 文件名
file.newlines 未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
file.softspace 为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用
参考链接
matplotlib 线程问题代码报错:Tcl_AsyncDelete: async handler deleted by the wrong thread
解决方案:在general.py中17行左右import matplotlib下添加代码:
python中startswith以及endswith的用法:字符串讲解链接
str.startswith(str,beg=0,end=len(string))
'''
检查字符串是否以指定子字符串开头,如果是则返回Ture,否则返回False
str:检测的字符串
strbeg:可选参数用于设置字符串检测的起始位置
strend:可选参数用于设置字符串检测的结束为止
'''
str.endswith(suffix[,start[,end]])
'''
检查字符串是否以指定子字符串后缀结尾,如果是则返回Ture,否则返回False
suffix:检测的字符串
start:字符串检测的起始位置
end:字符串中结束位置
'''