我是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)
谢谢。
答案 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'))