当前位置: 首页 > news >正文

python语言day6 os random datetime .ini文件

os:

获取运行当前py文件的绝对路径:

           abspath中添加路径,会直接和绝对路径拼接。

folder_path = os.path.abspath("")
print(folder_path)


路径拼接:

        mac系统路径:file/TranslucentTB

        win系统路径:file\TranslucentTB

        最好使用提供的join方法拼接路径。

file_path = os.path.join("file","TranslucentTB")
print(file_path)


判断文件是否存在:

        os.path.exists(fileName) 

                 返回真假值  

file_path = os.path.join("file","TranslucentTB")
print(file_path)if not os.path.exists(file_path):os.makedirs(file_path)


遍历文件夹: 

   (只看子目录 

                返回 子列表对应的文件名、文件夹名的  字符串数组

name_list = os.listdir(folder_path)
print(name_list)

    (遍历所有存在的**目录

                返回的是   一个存储数组类型的元组

                        数组的每个元素对应一个文件夹

                                文件夹中包括了一个文件的名称;

                                        这个文件的文件夹数组;

                                        这个文件的文件数组。

name_lists = os.walk(folder_path)
for  tuple1 in name_lists:print(tuple1)print(type(tuple1))

          



random:

        随机获取一个数组元素: 

                random.choice

             

           打乱数组结构:

                        random.shuffle

   

    

        生成一副扑克牌,并洗牌和抽牌:

 datetime:

                from datetime import datetime,timedelta,timezone:

                        从datetime包引入三个类

        获取当前时间:

                datetime.now()

tz = timezone(timedelta(hours=8))
print(datetime.now())  #2024-08-14 13:37:25.789656
print(tz) #UTC+08:00
print(datetime.now(tz))#2024-08-14 13:37:25.789656+08:00

        对时间进行加减:

                timedelta()

v1 = datetime.now() + timedelta(days=-1)
print(v1)#2024-08-13 13:37:25.789656

        格式化时间,解析时间:

                date_time_type_obj.strftime("%Y年")

                datetime.striptime(obj,"  ")  //   "  "完全匹配字符串时间格式

v1 = datetime.now() + timedelta(days=-1)
print(v1)#2024-08-13 13:37:25.789656v2= v1.strftime("%d日%m月%Y年")
print(v2)#13日08月2024年v3 = datetime.strptime(v2,"%d日%m月%Y年")
print(v3)#2024-08-13 00:00:00

        以时间命名文件小案例:



ini文件:

        创建一个ini类型的文件:

[mysqld]
datadir = /var/lib/mysql
log-bin = py-mysql-bin
character-set-server = utf8
collation-server = utf8_general_ci
log-error = /var/log/mysqld.log
symbolic-links = 0[mysqld_safe]
log-error = /var/log/mariadb/mariadb.log
pid-file = /var/run/mariadb/mariadb.pid

 和文件建立连接:

parser = configparser.ConfigParser()
# data = parser.read("my.ini",encoding = "utf-8")
# print(data)
parser.read("my.ini",encoding = "utf-8")

获取prefix:

获取key对应value:

list =  parser.sections()
print(list)  #['mysqld', 'mysqld_safe', 'client']v1 = parser.get("mysqld","socket")
print(v1)  #/var/lib/mysql/mysql.sock

删除prefix

删除key:

        仅调用remove_()方法只会修改内存空间存储读到的数据

        需要write()方法实际覆盖ini文件的内容

parser.remove_section("client")
parser.remove_option("mysqld","socket")parser.write(open('my.ini', encoding='utf-8', mode='w'))

修改和添加:

        set()方法可以创建或修改键值对。

parser.add_section("group")
parser.set("group", "datadir", "abc")parser.write(open('my.ini', encoding='utf-8', mode='w'))

http://www.lryc.cn/news/426504.html

相关文章:

  • powershell 终端 执行 pnpm -v报错
  • 最新保姆级Anaconda和Pycharm安装激活过程(2024最新版本)
  • 虚幻5|布料模拟
  • K8S 存储
  • Kafka Manager支持jdk1.8的部署和使用
  • vmware和virtualbox优缺点
  • [C++进阶]二叉树进阶的一些面试题(一)
  • 【Python单元测试】学习笔记1
  • NVDLA专题10:具体模块介绍——Planar Data Processor
  • 面向财商人群的AI垂直产品 —— AI股票助手
  • 玩AI第二步——python 环境安装
  • 【图解秒杀系列】秒杀技术点——静态化
  • Simple RPC - 05 从零开始设计一个客户端(下)_ 依赖倒置和SPI
  • 2024新型数字政府综合解决方案(三)
  • 计算机毕业设计hadoop+spark+hive知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习
  • 值类型与引用类型
  • C++STL初阶(12):stack和queue的初阶实现
  • 汽车IVI中控OS Linux driver开发实操(二十三):驱动的设备probe及匹配
  • 华为od(D卷)二叉树计算
  • 技术爱好者完全用台式机部件定制游戏笔记本电脑
  • 100个练习学习Rust!if・Panic・演练
  • MODELSIM仿真报错解决记录
  • day33-负载均衡实战
  • 网络接口 eno1 未连接或未托管
  • Linux I/O 多路复用机制详解
  • 第43课 Scratch入门篇:雪花随风飘
  • VueUse 基于 Vue 3 Composition API 的高质量 Hooks 库
  • ARM CoreLink 系列 5.1.1 -- CI-700 System Address Map 】
  • 【数据结构】二叉树(一)
  • 使用duplicate搭建备库或者级联备库