正确使用python的datetime&#strftime方法

时间:2014-05-27 14:33:57

标签: python datetime formatting fuse strftime

我正在使用FUSE(一个虚拟文件系统)来尝试实现一个读取调用,它将以字符串形式提供当前日期/时间。

import os
import sys
import errno

import datetime

from fuse import FUSE, FuseOSError, Operations

class FileSys(Operations):

    def __init__(self, root):
            self.root = root

    def _full_path(self, partial):
            if partial.startswith("/"):
                    partial = partial[1:]
            path = os.path.join(self.root, partial)
            return path

    # allows us to set attributes
    def getattr(self, path, fh= None):
            full_path = self._full_path(path)
            st = os.lstat(full_path)
            return dict((key, getattr(st, key)) for key in ('st_atime', 'st_ctime',
                 'st_gid', 'st_mode', 'st_mtime', 'st_nlink', 'st_size', 'st_uid'))

    # allows us to see files
    def readdir(self, path, fh):

            #logging.info("Enter readdir")
            full_path = self._full_path(path)
            dirents = ['.', '..']
            if(os.path.isdir(full_path)):
                    dirents.extend(os.listdir(full_path))

            for r in dirents:
                yield r

    def read(self, path, length, offset, fh= None):

        date = datetime.datetime.today()
        date = date.strftime("%a %b %d %H:%M:%S %Z %Y")
        return date

def main(root, mountpoint):

    FUSE(FileSys(root), mountpoint, foreground= True)

if __name__ == '__main__':

    main('/home/user/mydir', '/mnt/dummy')

但是,我的输出是这样打印的

Tue May 2

当我真的想要这样的东西时

Tue May 27 14:43:06 CDT 2014

所以,只能达到当天的第一位数字。有谁看到我做错了什么?我查看了strftime文档,我确信我的所有字母都对应于格式化字符串的正确部分。

0 个答案:

没有答案