林安随笔 - Python
type: channel
link: https://www.yuaq.cn/index.php/tag/Python/
items: Python os模块
items: Python连接MySQL数据库

Python os模块
type: item
date: 2022-03-19T18:00:00+08:00
description: os.getcwd() #返回当前工作路径 os.path.isabs() #判断是否是绝对路径 os.path.isfile() #检验给出的路径是否是一个文件 os.path.isdir() #检验给出的路径是否是一个目录 os.sep #文件的路径分隔符 如:在windows上是 '\' 而在Linux上是 '/' os.walk() #文件遍历 如:def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print('root_dir:', root) # 当前目录路径 print('sub_dirs:', dirs) # 当前路径下所有子目录 print('files:', files) # 当前路径下所有非目录子文件 file_name('E:/vmware') os.path.splitext() #分离扩展名 os.system() #运行shell命令: os.path.exists() #检验给出的路径是否真的存在: os.getenv() 与os.putenv() #读取和设置环境变量 os.linesep #给出当前平台使用的行终止符 如: windowss使用'\r\n' ,Linux使用'\n'而Mac使用'\r' os.name #指示你正在使用的平台： 如:对于Windows，它是'nt'，而对于Linux/Unix用户，它是'posix' os.chmod（file） #修改文件权限与时间戳 os.exit() #终止当前进程 目录操作os.makedirs("file1/file2/file3") #创建文件夹目录. 创建多级目录 os.mkdir("file") # 创建文件夹. 但是上级目录必须存在 os.copy("oldfile","newfile") #oldfile只能是文件夹，newfile可以是文件，也可以是目标目录 os.rename("oldname","newname") #重命名文件（目录） 文件或目录都是使用这条命令 os.removedirs() # 删除多级目录, 要求必须是空的 os.rmdir("dir") #只能删除空目录 os.listdir() #返回指定目录下的所有文件和目录名 os.path.split(path) #返回一个路径的目录名和文件名 os.path.dirname() #获取路径名 os.path.basename() #获取文件名 os.path.getsize（filename） #获取文件大小 os.chdir("path") 换路径 文件读写操作os.remove() #删除文件 或空文件夹 os.stat() #获取文件属性 with open("abc.txt",mode="w",encoding="utf-8") as f: #写文件,当文件不存在时,就直接创建此文件 pass encoding #文件编码 mode #打开模式 name #文件名 关于open 模式： w 以写方式打开， a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r 以读写模式打开 w+ 以读写模式打开 a+ 以读写模式打开 rb 以二进制读模式打开 wb 以二进制写模式打开 ab 以二进制追加模式打开 rb+ 以二进制读写模式打开 wb+ 以二进制读写模式打开 ab+ 以二进制读写模式打开 lines = object_file.readlines( ) #读第一行 for line in file_object: #如果文件是文本文件，还可以直接遍历文件对象获取每行： print(line) 原文链接：https://blog.csdn.net/weixin_38507813/article/details/87797839

Python连接MySQL数据库
type: item
date: 2022-03-19T17:58:00+08:00
description: def __init__(self): print('连接到数据库...') self.connect = pymysql.connect( host='localhost', port=3306, db='cj', user='root', passwd='123456', charset='utf8', use_unicode=True) print('连接成功！') # 通过cur执行增删查改 self.cur = self.connect.cursor() # 建表 # self.cur.execute("CREATE TABLE cjw(id INT AUTO_INCREMENT PRIMARY KEY," # "title TEXT CHARACTER SET utf8 COLLATE utf8_general_ci," # "time VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci," # "source VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci)" # " CHARACTER SET utf8 COLLATE utf8_general_ci") # self.connect.commit() def process_item(self, item, spider): try: # 插入数据 sql = "INSERT INTO cjw(title,`time`,`source`" \ ") VALUES (%s,%s,%s)" value = (item['title'], item['time'], item['source']) self.cur.execute(sql, value) # 提交sql语句 self.connect.commit() except Exception as error: # 发生错误回滚 self.connect.rollback() # 出现错误时打印错误日志 logging.error(error) def close_spider(self, spider): self.cur.close() self.connect.close()