python脚本程序,传入参数*要用单引号'*'
2015-01-30 17:53
405 查看
*号作为python脚本的传入参数时,必须用单引号'',才能正确传入。如python test.py 2014 '*' age
python test.py 2014 * age是错误的。
比如
test.py脚本如下
import sys
hdfs_report_historical_year = sys.argv[1]
# eg:2014-05,2014-12,etc.
hdfs_report_historical_month = sys.argv[2]
# eg:all,region,citylevel,etc.
pig_script_type = sys.argv[3]
print hdfs_report_historical_year
print hdfs_report_historical_month
print pig_script_type
其打印三个 传入参数。调用命令
python test.py 2014 * age
输出:
[wizad@srv26 new_pig]$ python test.py 2014 * age
2014
age.pig
appcategory.pig
可以看到参数* 没有正确传入,而是将当前目录下的文件名一起传给 sys.argv[2]和 sys.argv[3]。如果想正确传入要使用'*':python test.py 2014 '*' age
我们可以看*不用单引号会传入很多参数,test.py增加参数打印如下
import sys
hdfs_report_historical_year = sys.argv[1]
# eg:2014-05,2014-12,etc.
hdfs_report_historical_month = sys.argv[2]
# eg:all,region,citylevel,etc.
pig_script_type = sys.argv[3]
print hdfs_report_historical_year
print hdfs_report_historical_month
print sys.argv[4]
print sys.argv[5]
print sys.argv[6]
print sys.argv[7]
print sys.argv[8]
运行
[wizad@srv26 new_pig]$ python test.py 2014 * age
2014
age.pig
appcategory.pig.backup
backup.py
citylevel.pig
config.py
config.pyc
可以看到,当前目录路径名基本上都被传入到脚本中。
所以要小心
python test.py 2014 * age是错误的。
比如
test.py脚本如下
import sys
hdfs_report_historical_year = sys.argv[1]
# eg:2014-05,2014-12,etc.
hdfs_report_historical_month = sys.argv[2]
# eg:all,region,citylevel,etc.
pig_script_type = sys.argv[3]
print hdfs_report_historical_year
print hdfs_report_historical_month
print pig_script_type
其打印三个 传入参数。调用命令
python test.py 2014 * age
输出:
[wizad@srv26 new_pig]$ python test.py 2014 * age
2014
age.pig
appcategory.pig
可以看到参数* 没有正确传入,而是将当前目录下的文件名一起传给 sys.argv[2]和 sys.argv[3]。如果想正确传入要使用'*':python test.py 2014 '*' age
我们可以看*不用单引号会传入很多参数,test.py增加参数打印如下
import sys
hdfs_report_historical_year = sys.argv[1]
# eg:2014-05,2014-12,etc.
hdfs_report_historical_month = sys.argv[2]
# eg:all,region,citylevel,etc.
pig_script_type = sys.argv[3]
print hdfs_report_historical_year
print hdfs_report_historical_month
print sys.argv[4]
print sys.argv[5]
print sys.argv[6]
print sys.argv[7]
print sys.argv[8]
运行
[wizad@srv26 new_pig]$ python test.py 2014 * age
2014
age.pig
appcategory.pig.backup
backup.py
citylevel.pig
config.py
config.pyc
可以看到,当前目录路径名基本上都被传入到脚本中。
所以要小心
相关文章推荐
- python脚本程序,传入参数*要用单引号'*'
- C++嵌入Python程序(二):参数传入及返回
- 命令行运行Python脚本时传入参数的三种方式
- 命令行运行Python脚本时传入参数的三种方式
- python脚本传入参数--精讲(getopt模块)
- java调用Python脚本文件的同时,并向其中传入参数
- Python程序路径,传入参数
- BAT脚本:如何从用户传入的参数中去掉引号?(转)
- BAT脚本:如何从用户传入的参数中去掉引号
- 使用py2exe打包python脚本为exe可执行程序
- Python for .net脚本调用dotnet框架(ref和out参数问题)
- vc 调用win32程序 参数传入问题
- Linux(CentOS)下把python脚本转化成可执行程序
- python脚本转exe程序(未验证)
- Python脚本初窥——教你写一个文字处理脚本程序
- 用Python脚本转换成windows的可执行程序
- python脚本中 得到 参数
- 如何拖动文件到python脚本中作为输入参数?
- 网络游戏服务器开发::学习了两天python写了一个linux下自动安装程序的脚本
- python脚本,测试计算机运算能力。参数可以配置,3000-4000可以使普通计算机运算5天。