一个典型的要求: Python | C#实现年月日创建文件夹 时分秒对应文件名的保存路径

赶时间先说python: 用年月日作为文件夹:

年月日 时分秒 保存文件的路径根据年月日 创建文件夹 年里面包含月 月里面包含日 检查是否存在 没有就去创建 最后文件名用 时分秒毫秒.txt

这是一个典型的要求:

import os
from datetime import datetime


now = datetime.now()# 获取当前时间

# 提取年、月、日、时、分、秒、毫秒
year        = str(now.year)
month       = str(now.month).zfill(2)  # 补零,保证两位数
day         = str(now.day).zfill(2)
hour        = str(now.hour).zfill(2)
minute      = str(now.minute).zfill(2)
second      = str(now.second).zfill(2)
millisecond = str(now.microsecond // 1000).zfill(4)  # 毫秒


# 构建文件夹路径
#folder_path = os.path.join(year, month, day)# 年月日
#folder_path = os.path.join(year, month, day,hour,minute)#年月日时分
folder_path = os.path.join(year, month, day,hour)#年月日时


# 检查并创建文件夹
if not os.path.exists(folder_path):
    os.makedirs(folder_path)#递归创建文件夹


# 构建文件名
file_name = f"{hour}_{minute}_{second}_{millisecond}.txt"  # 使用下划线分隔,避免冒号问题
file_path = os.path.join(folder_path, file_name)

# 写入内容到文件
with open(file_path, "w") as file:
    file.write(f"当前时间: {now.strftime('%Y-%m-%d %H:%M:%S.%f')}")

print(f"文件已创建: {file_path}")
input()

当然还可以根据需要 修改 假设你的项目是以多个产品为主导 那么就需要根据产品名去归属文件.

先来C#写完在说别的.

        static void Run()
        {

            //using System;
            //using System.IO;
           
            // 获取当前时间
            DateTime now = DateTime.Now;

            // 提取年、月、日、时、分、秒、毫秒
            string year = now.Year.ToString();
            string month = now.Month.ToString("D2"); // 补零,保证两位数
            string day = now.Day.ToString("D2");
            string hour = now.Hour.ToString("D2");
            string minute = now.Minute.ToString("D2");
            string second = now.Second.ToString("D2");
            string millisecond = now.Millisecond.ToString("D6"); // 毫秒

            // 构建文件夹路径
            string folderPath = Path.Combine(year, month, day);

            // 检查并创建文件夹
            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }

            // 构建文件名
            string fileName = $"{hour}_{minute}_{second}_{millisecond}.txt"; // 使用下划线分隔,避免冒号问题
            string filePath = Path.Combine(folderPath, fileName);

            // 写入内容到文件
            File.WriteAllText(filePath, $"当前时间: {now:yyyy-MM-dd HH:mm:ss.fff}");

            Console.WriteLine($"文件已创建: {filePath}");
        }

和pyhon几乎没区别 

假设你的产品是


string[] fruits = new string[] { "香蕉", "苹果", "橘子", "橙子", "栗子", "梨子", "西瓜", "菠萝", "葡萄", "樱桃", "草莓", "桃子", "杏子", "芒果", "猕猴桃" };

那么:

        static void Run00()
        {
            // 获取当前工作目录
            string currentDirectory = Environment.CurrentDirectory;

            // 构建目标文件夹路径
            string SaveImg = "SaveImg"; // 目标文件夹名称

            // 构建水果数组
            string[] fruits = new string[]
            { "香蕉", "苹果", "橘子", "橙子", "栗子", "梨子", "西瓜", "菠萝", "葡萄", "樱桃", "草莓", "桃子", "杏子", "芒果", "猕猴桃 "};



            DateTime now = DateTime.Now;
            // 提取年、月、日、时、分、秒、毫秒
            string year = now.Year.ToString();
            string month = now.Month.ToString("D2"); // 补零,保证两位数
            string day = now.Day.ToString("D2");
            string hour = now.Hour.ToString("D2");
            string minute = now.Minute.ToString("D2");
            string second = now.Second.ToString("D2");
            string millisecond = now.Millisecond.ToString("D6"); // 毫秒
            string folderPath = Path.Combine(year, month, day);
            // 选择第一个水果作为文件夹名称
            int i = 0;
            // 构建完整路径
            string x = Path.Combine(currentDirectory, SaveImg, fruits[i], folderPath);

            // 检查并创建文件夹
            if (!Directory.Exists(x))
            {
                Directory.CreateDirectory(x);
            }

            // 构建文件名
            string fileName = $"{hour}_{minute}_{second}_{millisecond}.txt"; // 使用下划线分隔,避免冒号问题
            string filePath = Path.Combine(x, fileName);

            // 写入内容到文件
            File.WriteAllText(filePath, $"当前时间: {now:yyyy-MM-dd HH:mm:ss.fff}");

            // 输出文件路径和当前工作目录
            Console.WriteLine($"文件已创建: {filePath}");
            Console.WriteLine("当前工作目录: " + currentDirectory);

        }

好了现在可以在程序运行同级目录下,"SaveImg"文件夹下的 :产品名称:"香蕉":里面根据 年月日创建文件夹.并且在最终目录生成一个时分秒毫秒命名的文件 ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/979095.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Java基础] JVM常量池介绍(BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗)

文章目录 1. JVM内存模型2. 常量池中有什么类型?3. 常量池中真正存储的内容是什么4. 判断一个字符串(引用)是否在常量池中5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗?6. 获取堆内存使用情况、非堆内存使用情况 1. JVM内…

DeepSeek模型昇腾部署优秀实践

2024年12月26日,DeepSeek-V3横空出世,以其卓越性能备受瞩目。该模型发布即支持昇腾,用户可在昇腾硬件和MindIE推理引擎上实现高效推理,但在实际操作中,部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾 De…

python编写liunx服务器登陆自动巡检脚本

前言: 用户需要一份用Python编写的Linux系统巡检脚本,检查内存、磁盘、CPU使用率,还有网络连通性。 首先,我得确定用户的使用场景。可能用户是系统管理员,需要定期监控服务器状态,确保系统正常运行。 或者…

鸿蒙 ArkUI 实现敲木鱼小游戏

敲木鱼是一款具有禅意的趣味小游戏,本文将通过鸿蒙 ArkUI 框架的实现代码,逐步解析其核心技术点,包括动画驱动、状态管理、音效震动反馈等。 一、架构设计与工程搭建 1.1 项目结构解析 完整项目包含以下核心模块: ├── entry…

ShenNiusModularity项目源码学习(14:ShenNius.Infrastructure项目分析)

ShenNius.Infrastructure项目用于定义ShenNius.Admin.Mvc项目和ShenNius.Admin.API项目共用的特性类、数据操作接口实现类、上下文类、通讯类,主要文件的用途如下:   Attributes文件夹保存特性类或过滤器类定义,主要包括:   …

Mysql表字段字符集未设置导致乱码问题

项目场景: 在使用mysql的text类型作为字段类型【未设置编码】,且表结构【设置了编码集】的条件下,查询表这个字段会出现乱码的情况。 问题描述 今日测试小伙伴给题主提出了一个bug,数据库当中的text文本字段在存储json的情况下&…

staruml绘制时序图和用例图

文章目录 1.文章介绍2.绘制用例图3.绘制时序图 1.文章介绍 之前,我们初步介绍了这个staruml软件的安装和如何使用这个软件对于uml类图进行绘制,当时我们是绘制了这个user类,实现了相关的接口,表示他们之间的关系,在今…

火狐浏览器多开指南:独立窗口独立IP教程

无论是跨境电商从业者需要管理多个店铺账号,还是海外社交媒体营销人员要运营多个社交平台账号,亦或是从事多账号广告投放的人员,都面临着一个共同的挑战 —— 如何高效管理多个账号,并确保每个账号的独立性。 在这种情况下&#…

DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级

在近两年由AI引发的生产力革命的背后,一场关乎数字世界秩序的攻防战正在上演:AI生成的深度伪造视频导致企业品牌声誉损失日均超千万,批量生成的侵权内容使版权纠纷量与日俱增,黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…

【论文精读】YOLO-World:实时开放词汇目标检测

论文地址: YOLO-World: Real-Time Open-Vocabulary Object Detection 源代码:YOLO-World 摘要 YOLO系列检测器因其高效性和实用性而被广泛认可。然而,它们依赖于预定义和训练过的物体类别,这限制了其在开放场景中的适用性。为了…

开放标准(RFC 7519):JSON Web Token (JWT)

开放标准:JSON Web Token 前言基本使用整合Shiro登录自定义JWT认证过滤器配置Config自定义凭证匹配规则接口验证权限控制禁用session缓存的使用登录退出单用户登录Token刷新双Token方案单Token方案 前言 JSON Web Token (JWT) 是一种开放标准…

mysql架构查询执行流程(图解+描述)

目录 mysql架构查询执行流程 图解 描述 mysql架构查询执行流程 图解 描述 用户连接到数据库后,由连接器处理 连接器负责跟客户端建立连接、获取权限、维持和管理连接 客户端发送一条查询给服务器 服务器先检查查询缓存,如果命中缓存,则立…

k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库

至于containerd大家还需要在去学习以下使用的命令。 版本介绍 k8s:v1.28.2containerd:1.6.33 1.配置containerd镜像加速器 [rootmaster ~]# vim /etc/containerd/config.toml ---编辑containerd配置文件找到以下位置新添加 [plugins."io.contain…

【MySql】EXPLAIN执行计划全解析:15个字段深度解读与调优指南

文章目录 一、执行计划核心字段总览二、关键字段深度拆解1. type(访问类型)——查询性能的晴雨表典型场景分析: 2. key_len(索引使用长度)——索引利用率的检测仪计算示例: 3. Extra(附加信息&a…

python-leetcode-最长有效括号

32. 最长有效括号 - 力扣(LeetCode) class Solution:def longestValidParentheses(self, s: str) -> int:stack [-1] # 存储索引,初始值 -1 代表“未匹配起点”max_length 0for i, char in enumerate(s):if char (:stack.append(i)els…

单目摄像头物体深度计算基础原理

三维空间物体表面点位与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数,而相机参数的求解就是相机标定。 相机的参数矩阵包括内参和外参: 外参:决定现实坐标到摄像机坐标。…

CF 106A.Card Game(Java实现)

问题分析 定义一个字符是王牌,打出第一张牌a,第二张牌b。如果只有a是王牌花色直接赢。如果a,b同花色且a>b则a赢;如果只有b是王牌,a输。如果a,b都不是王牌且不同花色,不比较直接输。 思路分析…

在 Vue 组件中,如何确认父组件在 add 模式下传入 value 的情况及其对子组件 getProducts() 方法的触发影响?

文章目录 父组件中 <ave-form> 的使用add 模式下触发逻辑value 的传入情况是否触发 getProducts()&#xff1f; 验证 add 模式下 getProducts() 是否触发结论&#xff1a; 检查父组件传入 value 的完整情况如何明确知道父组件传入的 value最终回答 父组件 index.vue子组件…

Python的那些事第三十四篇:基于 Plotly 的交互式图表与仪表板设计与应用

基于 Plotly 的交互式图表与仪表板设计与应用 摘要: 本文深入探讨了 Plotly 这一强大的交互式图表和仪表板库。首先介绍了 Plotly 的背景与发展历程,随后详细阐述了其核心功能特性,包括丰富的图表类型、高度的自定义能力以及便捷的交互操作。通过实际案例分析和示例代码展示…

瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发

触觉智能分享&#xff0c;瑞芯微RK安卓Android主板GPIO按键配置方法&#xff0c;方便大家更好利用空闲IO&#xff01;由触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;树莓派卡片电脑设计&#xff0c;支持安卓Android、开源鸿蒙Open…