当前位置:首页 » 编程语言 » python用户输入参数

python用户输入参数

发布时间: 2022-11-19 04:26:33

1. python输入参数缺省该如何写

如果运行python test.py input output_dir,sys.argv的长度是3,如果运行python test.py input,则sys.argv的长度是2。
加个判断条件:
if len(sys.argv) == 2:
output_dir = os.path.curdir

2. python 基础教程

运算

a = 21
b = 10
c = 0

c = a + b
print "1 - c 的值为:", c

c = a - b
print "2 - c 的值为:", c

c = a * b
print "3 - c 的值为:", c

c = a / b
print "4 - c 的值为:", c

c = a % b
print "5 - c 的值为:", c

a = 2
b = 3
c = a**b
print "6 - c 的值为:", c

a = 10
b = 5
c = a//b
print "7 - c 的值为:", c

python比较

a = 21
b = 10
c = 0

if ( a == b ):
print "1 - a 等于 b"
else:
print "1 - a 不等于 b"

if ( a != b ):
print "2 - a 不等于 b"
else:
print "2 - a 等于 b"

if ( a <> b ):
print "3 - a 不等于 b"
else:
print "3 - a 等于 b"

if ( a < b ):
print "4 - a 小于 b"
else:
print "4 - a 大于等于 b"

if ( a > b ):
print "5 - a 大于 b"
else:
print "5 - a 小于等于 b"

a = 5
b = 20
if ( a <= b ):
print "6 - a 小于等于 b"
else:
print "6 - a 大于 b"

if ( b >= a ):
print "7 - b 大于等于 a"
else:
print "7 - b 小于 a"

赋值

a = 21
b = 10
c = 0

c = a + b
print "1 - c 的值为:", c

c += a
print "2 - c 的值为:", c

c *= a
print "3 - c 的值为:", c

c /= a
print "4 - c 的值为:", c

c = 2
c %= a
print "5 - c 的值为:", c

c **= a
print "6 - c 的值为:", c

c //= a
print "7 - c 的值为:", c

逻辑运算符:

a = 10
b = 20

if ( a and b ):
print "1 - 变量 a 和 b 都为 true"
else:
print "1 - 变量 a 和 b 有一个不为 true"

if ( a or b ):
print "2 - 变量 a 和 b 都为 true,或其中一个变量为 true"
else:
print "2 - 变量 a 和 b 都不为 true"

a = 0
if ( a and b ):
print "3 - 变量 a 和 b 都为 true"
else:
print "3 - 变量 a 和 b 有一个不为 true"

if ( a or b ):
print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true"
else:
print "4 - 变量 a 和 b 都不为 true"

if not( a and b ):
print "5 - 变量 a 和 b 都为 false,或其中一个变量为 false"
else:
print "5 - 变量 a 和 b 都为 true"

in,not in

a = 10
b = 20
list = [1, 2, 3, 4, 5 ];

if ( a in list ):
print "1 - 变量 a 在给定的列表中 list 中"
else:
print "1 - 变量 a 不在给定的列表中 list 中"

if ( b not in list ):
print "2 - 变量 b 不在给定的列表中 list 中"
else:
print "2 - 变量 b 在给定的列表中 list 中"

a = 2
if ( a in list ):
print "3 - 变量 a 在给定的列表中 list 中"
else:
print "3 - 变量 a 不在给定的列表中 list 中"

条件

flag = False
name = 'luren'
if name == 'python': # 判断变量否为'python'
flag = True # 条件成立时设置标志为真
print 'welcome boss' # 并输出欢迎信息
else:
print name

num = 5
if num == 3: # 判断num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零时输出
print 'error'
else:
print 'roadman' # 条件均不成立时输出

循环语句:

count = 0
while (count < 9):
print 'The count is:', count
count = count + 1

print "Good bye!"

i = 1
while i < 10:
i += 1
if i%2 > 0: # 非双数时跳过输出
continue
print i # 输出双数2、4、6、8、10

i = 1
while 1: # 循环条件为1必定成立
print i # 输出1~10
i += 1
if i > 10: # 当i大于10时跳出循环
break

for letter in 'Python': # 第一个实例
print '当前字母 :', letter

fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print '当前水果 :', fruit

print "Good bye!"

获取用户输入:raw_input

var = 1
while var == 1 : # 该条件永远为true,循环将无限执行下去
num = raw_input("Enter a number :")
print "You entered: ", num

print "Good bye!"

range,len

fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]

print "Good bye!"

python数学函数:
abs,cell,cmp,exp,fabs,floor,log,log10,max,min,mod,pow,round,sqrt

randrange

访问字符串的值

var1 = 'Hello World!'
var2 = "Python Runoob"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

转义字符

格式化输出
print "My name is %s and weight is %d kg!" % ('Zara', 21)

字符串函数:

添加元素

list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list

删除元素

list1 = ['physics', 'chemistry', 1997, 2000]

print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

列表操作

列表方法

删除字典

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 删除键是'Name'的条目
dict.clear(); # 清空词典所有条目
del dict ; # 删除词典

print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];

字典的函数:

当前时间戳:
import time
time.time()

格式化日期输出

import time

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

获取某个月日历:calendar

import calendar

cal = calendar.month(2016, 1)
print "以下输出2016年1月份的日历:"
print cal

当前日期和时间

import datetime
i = datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是 %s" %i.second)

不定长参数:*

lambda:匿名函数

def....

python模块搜索路径

获取用户输入

str = raw_input("请输入:")
print "你输入的内容是: ", str

input可以接收表达式

open参数

write要自己添加换行符

读取10个字符

重命名:os.rename
os.remove
os.mkdir os.chdir
os.getcwd
os.rmdir

open参数

file的方法

异常:

try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print "Error: 没有找到文件或读取文件失败"
else:
print "内容写入文件成功"
fh.close()

try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
finally:
print "Error: 没有找到文件或读取文件失败"

用户自定义异常:

os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:

| 序号 | 方法及描述 |
| 1 |

os.access(path, mode)

检验权限模式 |
| 2 |

os.chdir(path)

改变当前工作目录 |
| 3 |

os.chflags(path, flags)

设置路径的标记为数字标记。 |
| 4 |

os.chmod(path, mode)

更改权限 |
| 5 |

os.chown(path, uid, gid)

更改文件所有者 |
| 6 |

os.chroot(path)

改变当前进程的根目录 |
| 7 |

os.close(fd)

关闭文件描述符 fd |
| 8 |

os.closerange(fd_low, fd_high)

关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略 |
| 9 |

os.p(fd)

复制文件描述符 fd |
| 10 |

os.p2(fd, fd2)

将一个文件描述符 fd 复制到另一个 fd2 |
| 11 |

os.fchdir(fd)

通过文件描述符改变当前工作目录 |
| 12 |

os.fchmod(fd, mode)

改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。 |
| 13 |

os.fchown(fd, uid, gid)

修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。 |
| 14 |

os.fdatasync(fd)

强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。 |
| 15 |

os.fdopen(fd[, mode[, bufsize]])

通过文件描述符 fd 创建一个文件对象,并返回这个文件对象 |
| 16 |

os.fpathconf(fd, name)

返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
| 17 |

os.fstat(fd)

返回文件描述符fd的状态,像stat()。 |
| 18 |

os.fstatvfs(fd)

返回包含文件描述符fd的文件的文件系统的信息,像 statvfs() |
| 19 |

os.fsync(fd)

强制将文件描述符为fd的文件写入硬盘。 |
| 20 |

os.ftruncate(fd, length)

裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小。 |
| 21 |

os.getcwd()

返回当前工作目录 |
| 22 |

os.getcw()

返回一个当前工作目录的Unicode对象 |
| 23 |

os.isatty(fd)

如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。 |
| 24 |

os.lchflags(path, flags)

设置路径的标记为数字标记,类似 chflags(),但是没有软链接 |
| 25 |

os.lchmod(path, mode)

修改连接文件权限 |
| 26 |

os.lchown(path, uid, gid)

更改文件所有者,类似 chown,但是不追踪链接。 |
| 27 |

os.link(src, dst)

创建硬链接,名为参数 dst,指向参数 src |
| 28 |

os.listdir(path)

返回path指定的文件夹包含的文件或文件夹的名字的列表。 |
| 29 |

os.lseek(fd, pos, how)

设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效 |
| 30 |

os.lstat(path)

像stat(),但是没有软链接 |
| 31 |

os.major(device)

从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。 |
| 32 |

os.makedev(major, minor)

以major和minor设备号组成一个原始设备号 |
| 33 |

os.makedirs(path[, mode])

递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。 |
| 34 |

os.minor(device)

从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。 |
| 35 |

os.mkdir(path[, mode])

以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。 |
| 36 |

os.mkfifo(path[, mode])

创建命名管道,mode 为数字,默认为 0666 (八进制) |
| 37 |

os.mknod(filename[, mode=0600, device])
创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。

|
| 38 |

os.open(file, flags[, mode])

打开一个文件,并且设置需要的打开选项,mode参数是可选的 |
| 39 |

os.openpty()

打开一个新的伪终端对。返回 pty 和 tty的文件描述符。 |
| 40 |

os.pathconf(path, name)

返回相关文件的系统配置信息。 |
| 41 |

os.pipe()

创建一个管道. 返回一对文件描述符(r, w) 分别为读和写 |
| 42 |

os.popen(command[, mode[, bufsize]])

从一个 command 打开一个管道 |
| 43 |

os.read(fd, n)

从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。 |
| 44 |

os.readlink(path)

返回软链接所指向的文件 |
| 45 |

os.remove(path)

删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。 |
| 46 |

os.removedirs(path)

递归删除目录。 |
| 47 |

os.rename(src, dst)

重命名文件或目录,从 src 到 dst |
| 48 |

os.renames(old, new)

递归地对目录进行更名,也可以对文件进行更名。 |
| 49 |

os.rmdir(path)

删除path指定的空目录,如果目录非空,则抛出一个OSError异常。 |
| 50 |

os.stat(path)

获取path指定的路径的信息,功能等同于C API中的stat()系统调用。 |
| 51 |

os.stat_float_times([newvalue])
决定stat_result是否以float对象显示时间戳

|
| 52 |

os.statvfs(path)

获取指定路径的文件系统统计信息 |
| 53 |

os.symlink(src, dst)

创建一个软链接 |
| 54 |

os.tcgetpgrp(fd)

返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组 |
| 55 |

os.tcsetpgrp(fd, pg)

设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pg。 |
| 56 |

os.tempnam([dir[, prefix]])

返回唯一的路径名用于创建临时文件。 |
| 57 |

os.tmpfile()

返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。 |
| 58 |

os.tmpnam()

为创建一个临时文件返回一个唯一的路径 |
| 59 |

os.ttyname(fd)

返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常。 |
| 60 |

os.unlink(path)

删除文件路径 |
| 61 |

os.utime(path, times)

返回指定的path文件的访问和修改的时间。 |
| 62 |

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

输出在文件夹中的文件名通过在树中游走,向上或者向下。 |
| 63 |

os.write(fd, str)

写入字符串到文件描述符 fd中. 返回实际写入的字符串长度 |

3. 怎样使用python将参数

Python 传参数可以理解为 C 的 const 指针(your_type* const your_variable),它所指向的对象可以被修改产生副作用,但变量本身不能修改指向其他对象。这个和 C++ 的 reference 差不多。
所以如果一定要产生 C 的修改指针指向其他对象的效果,用 list、dict 或其他自定义的 mutable 对象包装是一个办法,但我认为这样是一种不良实践。在 C 语言中用参数输出结果有非常多的理由:

  • C 语言没有 tuple,不能返回多值,除非声明一个 struct 类型。这种情况下划分 in 参数和 out 参数成为一种惯例

  • C 语言没有异常机制,返回值一般要保留给 errno

  • 但这些情况在 Python 中都是不存在的,所以使用非惯例用法会让人很“惊讶”,然后这种惊讶就是陷阱了 = =~



4. Python语言命令行参数解析接收参数执行脚本的三种方法

在Windows系统上,Python脚本文件当然双击就能直接运行。不过我们往往需要在执行脚本的时候还要添加相应的参数,另外在Ubuntu系统中,我们执行文件往往和其他系统或用户命令一样,需要在终端中输入,参数当然也要一并加上。所以机智客这里说的意思是,执行Python脚本(.py文件)时候需要输入相应参数,这样程序怎么写的方法。

上面这么说可能有点不明不白的,或者有朋友会用但未必知道命令行解析这种表达方式。举个例子,比如我们在执行一个脚本文件的时候,可能会在CMD或者终端中输入python demo.py 10或者python demo.py --separator 10后面这个数字就是参数。我们要编写这样的脚本或者函数,有哪些方法呢?这里列举三种常用的。

一个是用系统模块sys。引入模块语句是import sys。也就是Python语言的内置库中的sys.argv。argv通常有argv[0],argv[1],argv[2]这样几个参数。基本使用方法是m_sil_len = int(sys.argv[1])传入第一个参数,sil_th = int(sys.argv[2])传入第二个参数。如果是简单一点的参数或者脚本,我们引入了sys。可以直接用这个传入参数。

一种是用模块argparse来实现,这是标准库中推荐的命令行解析模块。引入模块语句是import argparse。基本使用方法是引入模块后,先parser = argparse.ArgumentParser()创建对象,然后调用方法添加参数parser.add_argument("jzk", help="这是关于参数的说明", type=int),之后args = parser.parse_args()使用解析就可以用了。机智客看到这个方法在很多项目脚本中使用。我们在阅读机器学习AI之类的开源项目,就会发现很多人用的都是这个方法。

还有一个就是用fire模块,用于生成命令行界面的工具。引入模块语言是import fire。它默认以-为参数分隔符的。基本使用方法是fire.Fire()。这个不仅可以做命令行的参数解析,还可以还给一个类class添加命令行。所以使用时候括号里填入函数名或者类名即可,也就是里面的参数可以是其他Python对象。

5. python用户输入一个整数N,计算并输出1到N相加的和,请问这个程序错在哪里了

第一个错误的地方是for i in str(n),input()输入的是整型,循环增加应该用for in range(n),str(n)并不能起到顺序增加的作用。

第二个错误的地方是print('1到N求和结果:'.format(sum)),适用format输出时需要在输出的位置用大括号{}占据空位。

python用户输入一个整数N,计算并输出1到N相加的和正确的程序示例是:


(5)python用户输入参数扩展阅读

Python 内置函数range() 用法介绍:

python range() 函数可创建一个整数列表,一般用在 for 循环中。

1、函数语法:range(start, stop[, step])

2、参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。

3、实例:

range(10)

代表从 0 开始到 10[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

6. python 获取输入参数

可以使用input()函数
也可以使用raw_input()函数。
举例如下:
>>> x = input("x: ")
x: 34
>>> y = input("y: ")
y: 42
>>> print x * y
1428

7. python用户输入一个整数N,计算并输入N的32次方

n=eval(input("请输入一个整数:"))

s=n**32

print(s)

或者直接在IDLE中输入:

N=一个整数

N**32

点击回车即可在IDLE中出现答案。

(7)python用户输入参数扩展阅读:

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

参数:

expression -- 表达式。

globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

参考资料来源:网络-Python

网络-eval()

8. python作业:用户从键盘输入一个长字符串以及要查询的单词,统计该单词出现的次数。

1、双击打开pycharm开发工具,创建python项目,然后新建python文件。

9. python如何通过命令行输入参数

形式一:直接在命令行输入参数

第一个红色框为命令行参数

第二个框为控制台模式(Terminal)

形式二:在编译工具中配置参数

点击运行:点击红色框 编辑配置

如下图:红色框即为设置的命令行参数

热点内容
应缴费档次配置异常怎么回事 发布:2025-01-15 13:20:34 浏览:617
成都php招聘 发布:2025-01-15 13:12:16 浏览:380
怎么调用服务器数据库 发布:2025-01-15 13:06:25 浏览:656
人人网设置访问权限 发布:2025-01-15 13:02:06 浏览:563
崩坏学园2脚本 发布:2025-01-15 12:58:43 浏览:459
我的世界服务器等级如何升 发布:2025-01-15 12:45:55 浏览:689
c语言程序填空题 发布:2025-01-15 12:45:53 浏览:545
怎么配置氯化钠浓度 发布:2025-01-15 12:34:06 浏览:206
4000除以125简便算法 发布:2025-01-15 12:27:41 浏览:464
源码商用 发布:2025-01-15 12:26:54 浏览:75