环境

Mac Os X 10.9

python 2.7

实现功能

命令行传入公式,输出结果

出错原因

‘*‘ 号把整个目录下的文件都当作参数传入了

问题

如何正确传入 * 号?

操作

输入公式 ’2 * 3‘:python calc.py 2 * 3

print sys.argv 的结果['calc.py', '2', 当前目录下所有文件名如't1_1.py', '3']

返回错误Traceback (most recent call last):

File "calc.py", line 54, in

main(sys.argv)

File "calc.py", line 51, in main

calc(argv)

File "calc.py", line 16, in calc

bNum = float(bNum)

ValueError: could not convert string to float: backup_ver2.py

源码#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

import os

def calc(argv):

aNum = argv[1]

Opr = argv[2]

bNum = argv[3]

if '.' in aNum:

aNum = float(aNum)

else:

aNum = int(aNum)

if '.' in bNum:

bNum = float(bNum)

else:

bNum = int(bNum)

Opr = str(Opr)

if Opr == '+': res = aNum + bNum

elif Opr == '-': res = aNum - bNum

elif Opr == '*': res = aNum * bNum

elif Opr == '/': res = aNum / bNum

elif Opr == '%': res = aNum % bNum

elif Opr == '**' or Opr == '^':

res = aNum ** bNum

else:

print "Operator error: '%s'" % Opr

o2f(argv, res)

print res

def showres():

filename = open('calc', 'r')

fileread = filename.readlines()

for eachLine in fileread:

print eachLine,

filename.close()

def o2f(argv, res):

filename = open('calc', 'a')

filename.write(argv[1] + argv[2] + argv[3] + '=' + str(res) + os.linesep)

filename.close()

def main(argv):

'''useage:

print -- show all the result

example: 1 + 1 -- to get the result'''

if argv[1] == 'print':

showres()

else:

calc(argv)

if __name__ == '__main__':

main(sys.argv)

python乘号的字符代码_python 命令行参数传入 乘号(*) 时出错相关推荐

  1. python命令行参数 空格_Python - 命令行参数

    前言 每个脚本或者命令行程序都可以输入一些参数,通常有两种规范. 短格式,"-"号后面要紧跟一个选项字母,如果还有此选项的附加参数,可以用空格分开,也可以不分开,长度任意,可以用引 ...

  2. python 命令行 参数_Python命令行参数

    python 命令行 参数 Python Command line arguments are input parameters passed to the script when executing ...

  3. python获取命令行参数_【整理】Python中如何获得并处理命令行参数

    运行Python脚本时,时常需要从命令行中传递一些参数到Python程序中,但是如何获得相应的传递进来的参数,以及如何解析这些参数,是很多人,包括最开始的我,所遇到的问题. 下面,就对此总结一下: 先 ...

  4. Python自学笔记(二)命令行参数使用

    前言   当我们在写完多个pyhon脚本时,怎么去使用这些脚本也成为一个问题.我们写的这些脚本对于使用者来说是封闭的存在,为了让我们的脚本文件更加灵活,我们可以通过命令行参数给脚本传入相应的数据并运行 ...

  5. python len命令_python命令行参数

    如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名:    sys.argv[0] ...

  6. python getopt使用_Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  7. python命令行参数作用_Python命令行参数解析模块argparse

    前言 更多内容,请访问我的 个人博客. 以前 optparse 比较火,但是在python2.7版本后,官方不再维护这个模块,转而大力支持 argparse . argparse 模块可以让人轻松编写 ...

  8. python 参数_Python命令行参数(七)

    Python提供了一个getopt模块,用于解析命令行选项和参数. $ python test.py arg1 arg2 arg3 Python sys模块通过sys.argv提供对任何命令行参数的访 ...

  9. python 命令行参数_Python 命令行参数介绍

    Python 提供了 getopt 模块来获取命令行参数. Python 中也可以所用 sys 的 sys.argv 来获取命令行参数: sys.argv 是命令行参数列表. len(sys.argv ...

最新文章

  1. 一个强迫症的Git 选择
  2. HTTP基础认证Basic Authentication
  3. Linux 下的0 1 2特殊文件描述符~
  4. vivo又有新机跑分曝光 机海战术要来了?
  5. java quartz Scheduler 操作JobDetail
  6. splice方法_JavaScript数组_数组方法【一】(二十六)
  7. centos linux7 开启桌面命令,centos7如何在桌面打开终端
  8. 可以边玩游戏边学编程的手游盘点
  9. Xilinx zynqmp VCU使用
  10. 关于OPC的一些组件、没有注册类
  11. 【Markdown语法】5分钟快速入门保姆级教程(建议收藏...)
  12. android声纹识别技术,基于Android平台的声纹识别系统的研究与实现
  13. error C4189
  14. 开机后黑屏看不到桌面_电脑开机黑屏只有鼠标怎么办?电脑开机后不显示桌面的多种解决方法...
  15. 小米路由器 安装mysql_小米路由器安装和设置方法(图文教程)
  16. 【180622】VC++不规则窗体编程跳棋游戏实例
  17. 数据库拆分:横向拆分和纵向拆分
  18. excel可以用python语言_用python打开excel的方法
  19. Photoshop脚本 锁定图层组所有图层
  20. 期望风险最小化、经验风险最小化、结构风险最小化

热门文章

  1. javafx_scenebuilder-2_0-windows.msi 百度云盘下载
  2. Schtasks命令设置/删除定时关机
  3. java中数据类型字符串_Java数据类型-基本数据类型
  4. 参加2007新经济投融资大会感受
  5. 华为云会议,让云上办公变得简单高效
  6. linux更新项目常用命令汇总
  7. kali linux 升级命令_Kali Linux系统:如何升级/更新?
  8. Java orm框架的优缺点_ORM框架简介及优缺点
  9. 分布式任务调度(XXL-JOB)
  10. html怎么让div中的文字垂直居中,如何让DIV中的文字垂直居中?