【发布时间】:2012-03-09 03:25:09
【问题描述】:
您将如何扫描目录中的文本文件并按修改日期读取文本文件,将其打印到屏幕上,让脚本每 5 秒扫描一次目录以获取较新的文件并打印出来。 有没有可能你可以帮助我我被卡住了,我需要这个真的很糟糕,我已经有了文件和打印的扫描目录,但它不会按修改日期打印文件。
import os,sys
os.chdir(raw_input('dir_path: ') )
contents=os.listdir('.') #contents of the current directory
files =[]
directory=[]
Time = time.ctime(os.path.getmtime(contents))
for i in contents:
if os.path.isfile(i) == True :
files.append(i)
elif os.path.isdir(i) == True :
directory.append(i)
#printing contents
choice = ""
for j in files:
while choice != "quit":
choice = raw_input("Dou you want to print file %s (y/n): "%j)
if choice == 'y':
print "**************************"
print "Printing Files %s" %j
print "**************************"
fileobj = open(j,'r')
contents = fileobj.readlines()
for k in contents:
sys.stderr.write(k)
else:
pass
我想要的不是我的代码询问它是否要打印我需要它来打印文件如果被当前时间修改意味着如果它读取了一个刚刚放置在目录中的文件并且一个新文件进入它将在不提示我的情况下读取新文件。 它给我的错误是强制使用 unicode:需要字符串或缓冲区,找到列表。
【问题讨论】:
-
您的问题不清楚。 “按修改日期读取文本文件”是什么意思?您的意思是要按修改时间顺序打印所有文件吗?还是您只想打印自上次查看文件以来已更改的文件?
-
请不要发帖exact duplicate questions。这是非常不礼貌的。
-
我只想打印上次更改的文件