python学习sys.argv块中,输出一直显示提示没有参数,该怎么显示正确结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习sys.argv块中,输出一直显示提示没有参数,该怎么显示正确结果相关的知识,希望对你有一定的参考价值。
import os
import time
import sys
def backup():
'''执行备份操作
'''
if not os.path.exists(target_dir):
os.mkdir(target_dir)
zip_command = "rar a %s %s" %(target_dir + target_file, source)
if os.system(zip_command)==0:
print('备份成功')
else:
print('备份失败')
if __name__ == "__main__":
target_dir = 'D:\\backup\\'
target_file = 'web_backup_' + time.strftime('%Y%m%d') + '.rar'
if len(sys.argv) < 2:
print '没有指定参数'
sys.exit()
if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
if option == 'version':
print 'Version 1.0'
sys.exit()
elif option == 'help':
print '''\
在Windows系统下通过调用winrar的rar.exe,备份由参数指定的目录或文件。
执行程序前需要把rar.exe的路径加入PATH变量。
备份文件的文件名里包含当天的日期。
备份到D:\backup\目录下。
--version : 输出版本号
--help : 输出帮助信息'''
sys.exit()
else:
print '未知参数'
sys.exit()
else:
source = ''
for filename in sys.argv[1:]:
print filename
source += ' '+filename
print 'source = ', source, '\n'
# 确认PATH变量里是否有winrar目录
path_value = os.popen('wmic ENVIRONMENT where "name=\'path\'" get VariableValue /value')
have_rar = path_value.read().find('WinRAR')
if have_rar == '-1':
print '请在系统PATH变量里设置WinRAR的路径'
sys.exit()
backup()
因为你在脚本里面没有定义传入参数,len(sys.argv) 值应该为1,既只有‘脚本名’这个参数。所以运行的时候一直走if len(sys.argv) < 2: 这个分支。 参考技术A sys.argv是只有[0]项的吧?你得把他人为分片,再来求它的len
python系统学习:模块积累(持续更新)
# Author : Sunny
# 模块初识
‘‘‘模块 = 库分为标准库(自带,导入即可)/第三方库(必须安装才可使用)‘‘‘
# 标准库之sys模块
import sys
# sys.pyth 会输出路径(环境变量):包括标准库的路径、第三方库的路径
print(sys.path)
# sys.argv 会输出当前脚本的路径(相对)
print(sys.argv)
print(sys.argv[2]) # 会输出参数,用户输入参数,代码依据数组位置找到参数
# 标准库之os模块:多用于和系统交互
import os
# read = os.system("dir")
read = os.popen("dir").read()
print("-->", read)
# 与电脑交互建立新的文件夹,到此目录
# os.mkdir("new_dir")
以上是关于python学习sys.argv块中,输出一直显示提示没有参数,该怎么显示正确结果的主要内容,如果未能解决你的问题,请参考以下文章