从给定的.txt文件python

时间:2018-10-02 18:26:37

标签: python

我是python的新手。

我试图编写一个程序来从.txt文件中读取文件。

(这意味着我有一个'filenames.txt'文件,并且在该文件中有文件名及其路径) 如何从该.txt文件中读取这些文件名并获取文件创建日期?

以下是我提供的代码:

import sys, os
import pathlib

# list of filenames with their paths separated by comma 
file_list = []  

# input file name which contains list of files separated by \n
with open ('filenames.txt' , 'r+' ) as f :
    list_file = f.readlines().splitlines()

input_list = file_list + list_file  

def file_check(input_list):
    if input_list is none:
      print ("input_list is null")

print (input_list)

谢谢。

3 个答案:

答案 0 :(得分:2)

由此您可以打开文件:

file = open('path/to/filenames.txt')

假设数据每行写一个文件名,您可以像这样从文件中读取:

filename = file.readline()

然后,您可以import os并使用stat函数来了解创建时间。此函数将告诉您st_atime是最后访问时间,st_mtime是最后修改时间,st_ctime是创建时间。看看here

import os
stat = os.stat(filename)
creation_time = stat.s_ctime

要在文件名末尾省略空格,可以使用rstip。 因此,总共看起来像这样:

import os
file = open('path/to/filenames.txt')
filename = file.readline()
while filename:
    stat = os.stat(filename.rstrip())
    creation_time = stat.st_ctime
    print(creation_time)
    filename = file.readline()

答案 1 :(得分:0)

如果它们采用以下格式:[filename] [path]在每一行中,我建议以下内容:

f = open('filenames.txt', 'r').read().splitlines()

这将从文件中读取,然后将其分成几行

f = [x.split(' ') for x in f]

这是迭代f的一种简便方法,f是一个字符串列表,然后在空格处分割每个字符串,因此它将是[filename,path]

这里有些复杂:

import os
from datetime import datetime
from time import strftime
datetime.fromtimestamp(os.path.getctime('filenames.txt')).strftime('%Y-%m-%d %H:%M:%S')

所有使用的模块都是内置的

祝你好运

答案 2 :(得分:0)

您可以使用以下方法检查文件创建时间:

import os, time
time.ctime(os.path.getctime('your_full_file_path'))