Python如何在指定目录下创建txt

背景:
在startup中新建了一个bat,自启动运行指定代码。
需要让这个程序一天只自启动运行一次,中途如果重启电脑,不要再重新运行。

问题:
现在的代码将自动生成一个保存当天日期的txt,但这个txt默认是在startup下,开机时,txt也会自动打开,会出现error导致bat无法运行。请问如何将txt生成到指定目录?谢谢。

基于Monster 组和GPT的调写:

用Python内置的os模块,其中的os.path.join()函数可以用来拼接路径,可以将指定目录和文件名拼接起来,生成完整的路径。接下来使用Python内置的open()函数创建文件,使用写入模式'w',并指定完整的路径作为参数即可。例如,如果要在D:\test目录下创建名为example.txt的文件,可以使用以下代码:

import os

dir_path = r"D:\test"
file_name = "example.txt"
file_path = os.path.join(dir_path, file_name)

with open(file_path, 'w') as f:
    f.write("Hello, world!")

其中r表示使用原始字符串,防止转义字符对路径的影响。

根据你的需求,可以将指定目录路径dir_path替换为需要的目录,例如dir_path = r"C:\data",将文件名file_name替换为当前日期字符串即可。

如果需要在每次启动程序时检查是否已经创建了当天的txt文件,可以使用Python内置的os.path.exists()函数检查指定路径的文件是否存在,例如:

import os
import datetime

dir_path = r"C:\data"
file_name = datetime.datetime.now().strftime("%Y-%m-%d") + ".txt"
file_path = os.path.join(dir_path, file_name)

if not os.path.exists(file_path):
    with open(file_path, 'w') as f:
        f.write("Hello, world!")
    # 在这里添加需要自启动运行的代码


中datetime.datetime.now().strftime("%Y-%m-%d")可以获取当前日期,返回格式为"2023-04-22",用作文件名。如果文件不存在,则创建文件并写入内容,然后添加需要自启动运行的代码。如果文件已存在,则不需要再次运行自启动程序。

你写文件的时候,open语句,带上完整的路径(比如r'c:\xxx\1.txt'),而不是相对路径

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7762318
  • 以下回答来自chatgpt:

    抱歉,这不是一个具体的问题,请提供更具体的问题以便进行回答。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^