如何通过incrond / python编辑文件

时间:2014-10-20 22:35:21

标签: python incron

如何使脚本首先编辑特定目录中新找到的文件,然后通过incron / python上传?我对如何在python脚本中将文件名指定为字符串感到困惑。

incrontab -e:

/var/test IN_CREATE /var/pythoncode/code.py

python代码:

s = open("confused.txt").read()
s = s.replace("string1", "string2")
f = open("confused.txt", 'w')
f.write(s)
f.close()

基本上,我试图让incron服务找到/var/test文件夹中找到的任何新文件,然后执行python代码来查找并替换{{1}中找到的新文件中的字符串}。但是,我不确定如何处理/var/test文件名字符串,因为与"confused.txt"一起找到的每个文件都有一个动态名称。

1 个答案:

答案 0 :(得分:0)

这是一个解决方法,假设您熟悉脚本 -

步骤1 - 更改目录中的文件(更改所有内容并使用ls中的$ FILE获取名称。)

步骤2 - 将最后一个文件名存储在变量$ LAST_FILE

步骤3 - 运行WHILE循环以查找比$ LAST_FILE更新的文件 -

find /var/test/ -newer $LAST_FILE

OR

find /var/test/ -type f -newer $LAST_FILE

OR

find /var/test/ -type f -iname "*.txt" -newer $LAST_FILE

这将列出比您编辑的上一个文件更新的文件。因此,将此列表解析为您的"更改文件"脚本。