【问题标题】:saving/creating a file in a relative path with python 3使用python 3在相对路径中保存/创建文件
【发布时间】:2014-12-11 23:45:05
【问题描述】:

我是 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 的其他问题(例如:Relative paths in Python)和互联网上的其他地方,但我找不到正确的解决方案。 有人能指出我正确的方向吗?

(抱歉有任何错误/拼写错误,我的母语不是英语)

【问题讨论】:

    标签: python string file python-3.x path


    【解决方案1】:

    删除前导反斜杠。它使路径成为绝对的。除此之外,您需要转义反斜杠。

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

    或使用r'raw string literal':

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

    对于您当前的路径字符串文字,它不会产生问题。但是像'a\nb' 这样的路径将不起作用,因为\n 被解释为换行符而不是文字反斜杠和n

    【讨论】:

    • 谢谢!这已经解决了我的问题。如果我使用logfile = open(time.strftime(**r**'logs\\%Y%mlog.txt'), 'a') 会有意义吗
    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2020-04-26
    • 2011-05-18
    相关资源
    最近更新 更多