使用Python 3在相对路径中保存/创建文件
我刚开始学习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
。