如何扫描dir中的文本文件并按修改日期读取文本文件,将其打印到屏幕上,让脚本每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:需要字符串或缓冲区,找到list。在
在计时器上重复操作
通过将无限循环与
time.sleep()
函数组合起来,可以每五秒钟重复一次操作,如下所示:如果需要的话,记住这里有某种
break
条件,否则循环将永远运行。在“类型错误:强制为Unicode:需要字符串或缓冲区,找到列表”
你的问题就在这条线上
^{pr2}$您已经提供了一个文件名列表。
os.path.getmtime
函数要求一次只有一个文件名。错误消息告诉您,它不知道如何将文件名列表转换为文件名。在相关问题 更多 >
编程相关推荐