Python学习杂记_8_从程序外部传参的办法sys.argv

Python用 sys.argv[] 实现从程序外部传参

sys.argv 返回的是一个元组,元组的首个元素是程序本身,第二个元素之后依次是我们通过输入来指定的各个参数。即是元组,就说明这些参数是有序且不可变的,当然可以用下标来引用这个元组的每个元素,也就是你输入的各个参数,来实现参数的传递。“外部”的含义,其实就是这些参数不是你在程序中定义的,而是在程序之外传递进来的。

举个栗子

‘‘‘ 写一个修改文件的程序,要求传入一个文件名,再传入一个被修改的字符串,再传入一个要修改成什么的字符串‘‘‘

import sysimport osprint("这是个修改文件的程序".center(50,‘*‘))a = sys.argv# print(a[1:])with open(a[1],‘a+‘) as f1,open(‘uuu.txt‘,‘a+‘) as f2:    for line in f1:        if line.strip()==a[2]:            f2.write(a[3]+‘\n‘)            print("已经用%s替换了%s" % (a[3], a[2]))        else:            f2.write(line)os.remove(‘uu.txt‘)os.rename(‘uuu.txt‘,‘uu.txt‘)

注意:这段代码要用命令行来执行,如果是PyCharm调试的话用Terminal来运行程序。

如果还是不清楚的话可以参考这篇博客: http://www.cnblogs.com/aland-1415/p/6613449.html

时间: 2024-11-05 10:26:25

Python学习杂记_8_从程序外部传参的办法sys.argv的相关文章

Python 学习笔记-函数(一)传参

首先明确字符串,数字和元组作为函数参数时是不可变的,但是列表和字典等数据结构却是可以改变的. def change(n):     n[0]='apple' names=['banana','pear'] n=names[:] change(n) print names,n ['banana', 'pear'] ['apple', 'pear'] 修改后让原始列表保持不变. 假设现在要编写一个存储姓名, 年龄,部门并能够根据这三样进行联系人查询的程序: 因为是查询多个元素,首先想到了字典这种数据

Python学习杂记_4_分支和循环

分支 和 循环 分支和循环这俩结构在各语言中都有着很重要的地位,当然我之前都没有学好,这里总结一下在Python学习中对这俩结构的认识. 分支结构 # 单分支 if 条件判断: 执行语句- # 双分支 if 条件判断: 执行语句- else: 执行语句- #多分支 if 条件判断: 执行语句- elif: 执行语句- else: 执行语句- 循环结构 1. while循环 ,需要定义循环变量来控制循环. i = 0初始化一个控制循环的变量 while 有关循环变量的条件判断: 执行循环语句 -

Python学习杂记_5_列表常用操作

列表操作 列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如: names=[1, 2, 3, "abc", "def"] 列表取值时,下标也是从0开始,最大下标是元素个数减1,即len(names)-1 列表操作的常用方法: 增: names.append('zhaocunlei')            #从末尾追加元素 names.insert(0,'yinwenqiao')

Python学习第38天(文件处理,os、sys、pickle模块复习)

今天部分的内容会写的比较随意,想到需要复习的知识我就会进行一下演示,这样便于尽快把欠下的课程选择部分和即将要开始的ftp实现任务尽快完成. 一.文件处理部分 打开文件的一个固定格式:文件句柄 = open('文件路径', '模式') 模式有以下: 1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 之追加写模式[不可读:不存在则创建:存在则只追加内容] 2. 对于非文本文件,我们只能使

小程序路由传参

这里会有一个问题,如果要传字符还好说,如果是boolean值传过去 ,接收过来还是字符串 小程序路由跳转有两种方式: wx.navigateTo() 会后退按钮:  wx.redirectTo() 不会有路由跳转 1.wx.navigateTo() 路由跳转 2.wx.redirectTo() 路由重定向 3.navigateBack() 页面返回 还有几个 可以看看 这位大佬 写的详细些  https://www.cnblogs.com/cckui/p/10007976.html  (我写呢

小程序路由传参的时候出现数据丢失

在写把操作的答案通过路由传参的形式传到下一个页面的时候,在下一个页面获取的时候数据被截取了 解决办法 使用  encodeURIComponent        进行加密 然后再另外一个页面获取的时候使用     decodeURIComponent 进行解码 这样就解决了路由传参时数据丢失的情况了 原文地址:https://www.cnblogs.com/jeremy-o/p/9934468.html

小程序-页面传参json数组

1.页面传参,参数为json 2.直接传参不行 3.A到B A页面 JSON.stringify(data) B页面 JSON.parse(data) 原文地址:https://www.cnblogs.com/congfeicong/p/11002170.html

小程序函数传参时{}的作用

在前台wxml的标签中bind绑定后台方法并传参时,正常情况时如下所示: ondata  (e) { console.log(e) }, 这样输出的是所有的属性结果 如果想要输出的是自己想要的结果,就需要这样: 如:想要 e 中的 detail 属性值: ondata  ({detail}) { console.log(detail) }, 这样只需包裹在 {} 中就可以了,输出的结果就只是你想要的 detail 结果 原文地址:https://www.cnblogs.com/Z_66/p/12

Python学习杂记_1_PyCharm使用的一些收获

一. 界面及字体的调整 装好PyCharm默认的界面是白色的,编辑区域和Console区域的字体也比较小.我个人比较喜欢界面是黑底的,主要关注区域上的字体,大一些,看着清楚一些.调整办法是这样滴~! 点击 File->Settings 打开Settings窗口,所有设置皆在此,结构也非常清晰,找呗-- 1. 黑背景 这个和选择的主题有关,Settings->Editor->Colors&Fonts,在Scheme选德古拉1(Darcula1)然后Save As一个你想要的名字即可