使用Python 3在相对路径中保存/创建文件

1 投票
1 回答
777 浏览
提问于 2025-04-27 23:15

我刚开始学习Python,想写一个脚本(Python 3)来测试电子模块并保存日志文件。
我希望日志文件的格式如下:

201410log.txt (yearmonthlog.txt)

这个是通过下面的代码实现的:

import os

logfile=open(time.strftime('%Y%mlog.txt'), 'a') 
logfile.write('This is a test\n\n\n')               

这样每个月就会生成一个新的日志文件。
不过,我希望日志文件能保存在一个子目录(\logs)里。

我尝试过一些方法,比如:

logfile=open(time.strftime('\logs\%Y%mlog.txt'), 'a')   

还有类似的东西,但都没有成功。
我在StackOverflow上查找了其他问题(例如:Python中的相对路径)和网上的资料,但找不到合适的解决方案。
有人能给我指个方向吗?

(如果有错误或拼写错误,抱歉,我不是以英语为母语的人)

暂无标签

1 个回答

1

去掉开头的反斜杠。这个反斜杠会让路径变成绝对路径。除此之外,你还需要对反斜杠进行转义。

logfile = open(time.strftime('logs\\%Y%mlog.txt'), 'a')   

或者使用 r'原始字符串'

logfile = open(time.strftime(r'logs\%Y%mlog.txt'), 'a')   

对于你现在的路径字符串来说,这没有问题。但像 'a\nb' 这样的路径就不行,因为 \n 会被解释为换行,而不是字面上的反斜杠和 n

撰写回答