修改 “report.py” 和 “pcost.py” 程序,以便它们可以在命令行上作为脚本执行:
时间: 2024-02-18 10:04:01 浏览: 24
假设 "report.py" 和 "pcost.py" 这两个程序的代码已经准备好了,现在你需要将它们修改为可以在命令行上作为脚本执行的形式。
1. 修改 "report.py"
在 "report.py" 文件的开头添加以下代码:
```python
import sys
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} file")
sys.exit(1)
filename = sys.argv[1]
```
这段代码会检查命令行参数的数量是否为 2(第一个参数是脚本的名称,第二个参数是要打印报告的文件名),如果不是,则输出用法提示信息并退出脚本。如果参数数量正确,则将第二个参数赋值给变量 filename。
接下来,你需要将代码中的文件名硬编码部分替换为 filename 变量,以便可以接受命令行参数。例如,将以下代码:
```python
with open('data/portfolio.csv', 'rt') as f:
```
替换为:
```python
with open(filename, 'rt') as f:
```
这样就可以在命令行上执行 "report.py" 脚本,例如:
```
python report.py data/portfolio.csv
```
2. 修改 "pcost.py"
同样地,在 "pcost.py" 文件的开头添加以下代码:
```python
import sys
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} file")
sys.exit(1)
filename = sys.argv[1]
```
这段代码会检查命令行参数的数量是否为 2(第一个参数是脚本的名称,第二个参数是要计算成本的文件名),如果不是,则输出用法提示信息并退出脚本。如果参数数量正确,则将第二个参数赋值给变量 filename。
接下来,你需要将代码中的文件名硬编码部分替换为 filename 变量,以便可以接受命令行参数。例如,将以下代码:
```python
with open('data/prices.csv', 'rt') as f:
```
替换为:
```python
with open(filename, 'rt') as f:
```
这样就可以在命令行上执行 "pcost.py" 脚本,例如:
```
python pcost.py data/prices.csv
```