# Exercise 1.6 - Solution

## (b) Main Module

```python
# pcost.py

def portfolio_cost(filename):
    total_cost = 0.0
    with open(filename) as f:
        for line in f:
            fields = line.split()
            try:
                nshares = int(fields[1])
                price = float(fields[2])
                total_cost = total_cost + nshares * price

            # This catches errors in int() and float() conversions above
            except ValueError as e:
                print("Couldn't parse:", line)
                print("Reason:", e)

    return total_cost

if __name__ == '__main__':
    print(portfolio_cost('Data/portfolio.dat'))
```


[Back](ex1_6.md)
