Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
read-pointfile-writefile-dat
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸大学计算机学院
教师群组
宋海霞-shx
Test
casegroup
template
read-pointfile-writefile-dat
提交
a16bc070
提交
a16bc070
4月 12, 2021
创建
作者:
宋海霞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify
上级
c5d4c480
流水线
#156398
已失败 于阶段
用时 14 秒
变更
2
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
188 行增加
和
1 行删除
+188
-1
.gitlab-ci.yml
.gitlab-ci.yml
+1
-1
comtool.py
.vscode/comtool.py
+187
-0
没有找到文件。
.gitlab-ci.yml
浏览文件 @
a16bc070
...
@@ -6,7 +6,7 @@ stages:
...
@@ -6,7 +6,7 @@ stages:
-
code-analysis
-
code-analysis
variables
:
variables
:
TEACHERCHECK_REPO
:
"
engintime
-cs/teacher-group/shx/Test/casegroup/teachers-packet/read-pointfile-writefile-dat
.git"
TEACHERCHECK_REPO
:
"
engintime
/cpp-lab/teachers-packet/c-language/Lab011
.git"
.codecode-runner
:
&codecode-runner
.codecode-runner
:
&codecode-runner
tags
:
tags
:
...
...
.vscode/comtool.py
0 → 100644
浏览文件 @
a16bc070
#!/bin/env python
# -*- coding: utf-8 -*-
import
os
import
platform
import
sys
from
enum
import
Enum
execProgStr
=
sys
.
argv
[
1
]
class
DataSourceFileType
(
Enum
):
noinput
=
0
input
=
1
readtxt
=
2
readdat
=
3
class
ResultFileType
(
Enum
):
nooutput
=
0
output
=
1
writetxt
=
2
writedat
=
3
class
PlatformType
(
Enum
):
other
=
0
windows
=
1
linux
=
2
# 读取文件
def
read_file
(
file_name
):
try
:
file_desc
=
open
(
file_name
,
'r'
)
# 读取后按行分割
text
=
file_desc
.
read
()
.
splitlines
()
file_desc
.
close
()
return
text
except
IOError
as
error
:
print
(
'Read input file Error: {0}'
.
format
(
error
))
sys
.
exit
()
# 比较时忽略行末的空格和文件末尾的回车换行
def
advanced_file_compare
(
file1
,
file2
):
f1
=
open
(
file1
)
f2
=
open
(
file2
)
returnVal
=
1
str1
=
[]
for
line1
in
f1
:
line1
=
line1
.
rstrip
()
line1
=
line1
.
replace
(
'
\n
'
,
''
)
if
len
(
line1
)
!=
0
:
str1
.
append
(
line1
)
str2
=
[]
for
line2
in
f2
:
line2
=
line2
.
rstrip
()
line2
=
line2
.
replace
(
'
\n
'
,
''
)
if
len
(
line2
)
!=
0
:
str2
.
append
(
line2
)
count
=
0
if
len
(
str1
)
==
len
(
str2
):
for
line1
in
str1
:
if
line1
!=
str2
[
count
]:
#文件不同
returnVal
=
0
break
else
:
count
=
count
+
1
else
:
returnVal
=
0
f1
.
close
()
f2
.
close
()
return
returnVal
def
getPlatformType
():
platformType
=
PlatformType
.
other
if
platform
.
system
()
.
lower
()
==
'windows'
:
platformType
=
PlatformType
.
windows
elif
platform
.
system
()
.
lower
()
==
'linux'
:
platformType
=
PlatformType
.
linux
else
:
platformType
=
PlatformType
.
other
return
platformType
def
getProjInfo
():
dsType
=
getDataSourceFileType
()
dsFileStr
=
getDataSourceFileStr
(
dsType
)
resultFileType
=
getResultFileType
()
resultFileStr
=
getResultFileStr
(
resultFileType
)
userresultFileStr
=
getUserResultFileStr
(
resultFileType
)
return
dsType
,
dsFileStr
,
resultFileType
,
userresultFileStr
,
resultFileStr
def
getDataSourceFileType
():
dsType
=
DataSourceFileType
.
noinput
if
os
.
path
.
isfile
(
"input1.txt"
):
dsType
=
DataSourceFileType
.
input
elif
os
.
path
.
isfile
(
"readfile1.txt"
):
dsType
=
DataSourceFileType
.
readtxt
elif
os
.
path
.
isfile
(
"readfile1.dat"
):
dsType
=
DataSourceFileType
.
readdat
else
:
dsType
=
DataSourceFileType
.
noinput
return
dsType
def
getDataSourceFileStr
(
dataSourceFileType
):
dsType
=
dataSourceFileType
dsFileStr
=
""
if
dsType
==
DataSourceFileType
.
readtxt
:
dsFileStr
=
"readfile{0}.txt"
elif
dsType
==
DataSourceFileType
.
readdat
:
dsFileStr
=
"readfile{0}.dat"
elif
dsType
==
DataSourceFileType
.
input
:
dsFileStr
=
"input{0}.txt"
return
dsFileStr
def
getResultFileType
():
resultFileType
=
0
if
os
.
path
.
isfile
(
"output1.txt"
):
resultFileType
=
ResultFileType
.
output
elif
os
.
path
.
isfile
(
"writefile1.txt"
):
resultFileType
=
ResultFileType
.
writetxt
elif
os
.
path
.
isfile
(
"writefile1.dat"
):
resultFileType
=
ResultFileType
.
writedat
else
:
resultFileType
=
ResultFileType
.
nooutput
return
resultFileType
def
getResultFileStr
(
resultFileType
):
resultFileStr
=
""
type
=
resultFileType
if
type
==
ResultFileType
.
output
:
resultFileStr
=
"output{0}.txt"
elif
type
==
ResultFileType
.
writetxt
:
resultFileStr
=
"writefile{0}.txt"
elif
type
==
ResultFileType
.
writedat
:
resultFileStr
=
"writefile{0}.dat"
return
resultFileStr
def
getUserResultFileStr
(
resultFileType
):
userresultFileStr
=
""
type
=
resultFileType
if
type
==
ResultFileType
.
output
:
userresultFileStr
=
"user_output{0}.txt"
elif
type
==
ResultFileType
.
writetxt
:
userresultFileStr
=
"user_writefile{0}.txt"
elif
type
==
ResultFileType
.
writedat
:
userresultFileStr
=
"user_writefile{0}.dat"
return
userresultFileStr
def
getSpecifyfileStr
():
specifyFile
=
""
if
os
.
path
.
isfile
(
"specifyfile.dat"
):
specifyFile
=
"specifyfile.dat"
elif
os
.
path
.
isfile
(
"specifyfile.txt"
):
specifyFile
=
"specifyfile.txt"
return
specifyFile
def
getRunProgCmdStr
(
dsType
,
resultFileType
,
dsFile
,
userresultFile
):
global
execProgStr
inresultFileStr
=
""
if
dsType
==
DataSourceFileType
.
input
:
if
resultFileType
==
ResultFileType
.
output
:
inresultFileStr
=
" < {0} > {1} "
.
format
(
dsFile
,
userresultFile
)
elif
resultFileType
==
ResultFileType
.
writedat
or
resultFileType
==
ResultFileType
.
writetxt
:
inresultFileStr
=
" {1} < {0} "
.
format
(
dsFile
,
userresultFile
)
elif
dsType
==
DataSourceFileType
.
readtxt
or
dsType
==
DataSourceFileType
.
readdat
:
if
resultFileType
==
ResultFileType
.
output
:
inresultFileStr
=
" {0} > {1} "
.
format
(
dsFile
,
userresultFile
)
elif
resultFileType
==
ResultFileType
.
writedat
or
resultFileType
==
ResultFileType
.
writetxt
:
inresultFileStr
=
" {0} {1} "
.
format
(
dsFile
,
userresultFile
)
else
:
if
resultFileType
==
ResultFileType
.
output
:
inresultFileStr
=
" > {0} "
.
format
(
userresultFile
)
elif
resultFileType
==
ResultFileType
.
writedat
or
resultFileType
==
ResultFileType
.
writetxt
:
inresultFileStr
=
" {0} "
.
format
(
userresultFile
)
runCommandStr
=
execProgStr
runCommandStr
+=
inresultFileStr
return
runCommandStr
def
runCmd
(
cmdStr
):
print
(
"正在执行命令: {0}"
.
format
(
cmdStr
))
sys
.
stdout
.
flush
()
execResult
=
os
.
system
(
cmdStr
)
if
execResult
!=
0
:
exit
(
1
)
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论