请写一段python脚本,要求如下: 1.检测SVN某一路径下是否有文件新增,如果有,将此文件名打印出来
时间: 2024-02-18 08:02:52 浏览: 193
可以使用Python的subprocess模块调用svn命令来实现该功能。具体实现如下:
```python
import subprocess
# 设置SVN路径
svn_path = "/path/to/svn"
# 设置SVN路径下要监测的目录
svn_dir = "/path/to/svn/dir"
# 使用svn命令获取指定目录下的所有文件列表
cmd = f"svn list {svn_path}/{svn_dir}"
svn_output = subprocess.check_output(cmd.split())
# 将svn输出结果转换为字符串,并按行分割
svn_files = svn_output.decode().split("\n")
# 遍历所有文件,检查是否有新增文件
for file in svn_files:
# 如果文件名为空,跳过
if not file:
continue
# 使用svn命令获取文件的详细信息
cmd = f"svn info {svn_path}/{svn_dir}/{file}"
file_info = subprocess.check_output(cmd.split())
# 将svn输出结果转换为字符串,并按行分割
file_info_str = file_info.decode().split("\n")
# 遍历文件信息,查找文件状态
for line in file_info_str:
if line.startswith("Node Kind:"):
node_kind = line.split(":")[1].strip()
# 如果文件是新增文件,打印文件名
if node_kind == "file":
print(f"新增文件:{file}")
```
以上代码使用svn命令获取指定目录下的所有文件列表,然后遍历文件列表,使用svn命令获取每个文件的详细信息。在文件详细信息中,可以查找文件的状态信息,如果文件是新增文件,则将文件名打印出来。
阅读全文