@@ -12,18 +12,18 @@ import (
12
12
)
13
13
14
14
func main () {
15
- fmt .Println ("Python Requirements Parser 高级选项示例 " )
16
- fmt .Println ("========================================" )
15
+ fmt .Println ("Python Requirements Parser Advanced Options Example " )
16
+ fmt .Println ("================================================== " )
17
17
18
- // 创建示例目录结构
18
+ // Create example directory structure
19
19
testDir := "requirements-advanced"
20
20
err := os .MkdirAll (testDir , 0755 )
21
21
if err != nil {
22
- log .Fatalf ("创建目录失败 : %v" , err )
22
+ log .Fatalf ("Failed to create directory : %v" , err )
23
23
}
24
24
defer os .RemoveAll (testDir )
25
25
26
- // 创建示例文件
26
+ // Create示例文件
27
27
mainRequirements := `
28
28
# 主requirements文件
29
29
flask==2.0.1
@@ -64,18 +64,18 @@ flake8>=3.9.0
64
64
os .Setenv ("DB_VERSION" , "1.4.27" )
65
65
defer os .Unsetenv ("DB_VERSION" )
66
66
67
- // 创建禁用环境变量处理的解析器
67
+ // Create禁用环境变量处理的解析器
68
68
p1 := parser .NewWithOptions (false , false )
69
69
reqFile := filepath .Join (testDir , "requirements.txt" )
70
70
71
71
reqs1 , err := p1 .ParseFile (reqFile )
72
72
if err != nil {
73
- log .Fatalf ("解析失败 : %v" , err )
73
+ log .Fatalf ("Parse failed : %v" , err )
74
74
}
75
75
76
76
for _ , req := range reqs1 {
77
77
if ! req .IsComment && ! req .IsEmpty && ! req .IsFileRef {
78
- fmt .Printf ("包名 : %s, 版本: %s, 原始行: %s\n " ,
78
+ fmt .Printf ("Package : %s, 版本: %s, 原始行: %s\n " ,
79
79
req .Name , req .Version , req .OriginalLine )
80
80
}
81
81
}
@@ -84,28 +84,28 @@ flake8>=3.9.0
84
84
fmt .Println ("\n 示例2: 禁用递归解析" )
85
85
fmt .Println ("----------------------------------------" )
86
86
87
- // 创建禁用递归解析的解析器
87
+ // Create禁用递归解析的解析器
88
88
p2 := parser .NewWithOptions (false , true )
89
89
90
90
reqs2 , err := p2 .ParseFile (reqFile )
91
91
if err != nil {
92
- log .Fatalf ("解析失败 : %v" , err )
92
+ log .Fatalf ("Parse failed : %v" , err )
93
93
}
94
94
95
95
fmt .Println ("依赖项:" )
96
96
for _ , req := range reqs2 {
97
97
if req .IsFileRef {
98
98
fmt .Printf ("文件引用: %s\n " , req .FileRef )
99
99
} else if ! req .IsComment && ! req .IsEmpty {
100
- fmt .Printf ("包名 : %s, 版本: %s\n " , req .Name , req .Version )
100
+ fmt .Printf ("Package : %s, 版本: %s\n " , req .Name , req .Version )
101
101
}
102
102
}
103
103
104
104
// 展示3: 模拟自定义解析引用文件的方式
105
105
fmt .Println ("\n 示例3: 模拟自定义解析引用文件的方式" )
106
106
fmt .Println ("----------------------------------------" )
107
107
108
- // 创建自定义文件解析器
108
+ // Create自定义文件解析器
109
109
customReqContent := `
110
110
# 这是一个通过自定义解析器处理的requirements文件
111
111
flask==2.0.1
@@ -117,7 +117,7 @@ django>=3.2.0
117
117
log .Fatalf ("写入自定义requirements文件失败: %v" , err )
118
118
}
119
119
120
- // 创建基本解析器
120
+ // Create基本解析器
121
121
p3 := parser .New ()
122
122
123
123
// 同时展示使用递归解析的效果对比
@@ -140,7 +140,7 @@ flask==2.0.1
140
140
// 使用非递归解析器解析主文件
141
141
reqs3 , err := p3 .ParseFile (customMainFile )
142
142
if err != nil {
143
- log .Fatalf ("解析失败 : %v" , err )
143
+ log .Fatalf ("Parse failed : %v" , err )
144
144
}
145
145
146
146
fmt .Println ("手动处理引用文件:" )
@@ -168,7 +168,7 @@ flask==2.0.1
168
168
fmt .Println ("\n 自定义解析结果:" )
169
169
for _ , req := range allReqs {
170
170
if ! req .IsComment && ! req .IsEmpty && ! req .IsFileRef {
171
- fmt .Printf ("包名 : %s, 版本: %s\n " , req .Name , req .Version )
171
+ fmt .Printf ("Package : %s, 版本: %s\n " , req .Name , req .Version )
172
172
}
173
173
}
174
174
@@ -181,7 +181,7 @@ flask==2.0.1
181
181
182
182
for _ , req := range recursiveReqs {
183
183
if ! req .IsComment && ! req .IsEmpty && ! req .IsFileRef {
184
- fmt .Printf ("包名 : %s, 版本: %s\n " , req .Name , req .Version )
184
+ fmt .Printf ("Package : %s, 版本: %s\n " , req .Name , req .Version )
185
185
}
186
186
}
187
187
@@ -197,12 +197,12 @@ pandas==1.3.4 # 数据处理
197
197
p4 := parser .New ()
198
198
reqs4 , err := p4 .ParseString (commentRequirements )
199
199
if err != nil {
200
- log .Fatalf ("解析失败 : %v" , err )
200
+ log .Fatalf ("Parse failed : %v" , err )
201
201
}
202
202
203
203
for _ , req := range reqs4 {
204
204
if ! req .IsComment && ! req .IsEmpty {
205
- fmt .Printf ("包名 : %s, 版本: %s, 注释: %s\n " ,
205
+ fmt .Printf ("Package : %s, 版本: %s, 注释: %s\n " ,
206
206
req .Name , req .Version , req .Comment )
207
207
}
208
208
}
0 commit comments