本章重点内容:

1、当前工作路径

2、命令行参数

3、shell环境变量

4、标准流

接下来展开详细的说明:

1、当前工作路径

当前工作路径,英文简写“CWD”

当前工作路径是系统自动识别和添加的,和你的PYTHONPATH无关,在此需要理顺与之相关的几个概念

当前工作路径和文件所在路径:

如果你运行一个python脚本,这个脚本和你当时系统运行该脚本的环境是可能不一样的

比如,你在文件夹1下面,运行文件夹2下面的python脚本,

文件夹1的路径就是当前工作路径

文件夹2的路径就是文件所在路径,系统会自动把脚本所在的路径, 添加到搜索路径中

当前工作路径和搜索路径:

脚本在运行的时候,需要调用很多参数和函数,所以系统环境会设定一个默认的搜索路径,以便查找

而当前工作路径是隐含的,也就是说,是会自动作为第一搜索路径执行的,和之前设定的默认搜索路径是不一样的

设定了搜索路径,就会固定下来,除非你再修改,而当前工作路径是以你当前的状态进行变化的,是可能随时更新的

2、命令行参数

Python可以通过sys模块获取脚本启动时命令行输入的信息,通常,被称为命令行参数

我们先写一个简单的脚本,如下:

然后运行看下:

它记录是是命令行的信息,第一个就是脚本的名称,如果在命令行增加其他,就会有不同的信息,如下:

随便增加不同的字符串,就会被记录

3、shell环境变量

获取shell变量,通过os.environ来索引,如下

返回的是一个字典,可以通过keys方法得到所有变量名:

知道某个具体的key后,可以直接查看,例如USERNAME

通过最初的查看可以知道,os.environ是一个字典类型,也就是可以通过操作字典一样,进行查询以及修改

4、标准流

sys模块提供了Python的标准输入、输出和错误流,

标准流是预先打开的Python文件对象,它们在Python启动时自动连接到你的程序上,标准流默认在Python启动时被绑定到控制台窗口

由于内部的print和input韩式实际上只是标准输出/输入流的借接口,因此他们和使用sys的stdout/stdin类似

重定向流到文件或程序

技术上,在默认情况下标准输出(以及print)会打印到程序启动的窗口上,标准输入(以及input)的文本从键盘读取,标准错误用来向窗口打印错误信息

也可以将这些流重定向到文件或者系统shell的其他程序,就像到Python脚本里的任意对象一样

在大多数系统里,重定向是的重用和组合通用命令行工具变得简单

先来看一个简单的程序,代码如下:

然后让我们来运行该程序,如下:

该程序的输入是通过键盘输入的,可以重定向为文件内容的输入

我们先创建一个文件,txt格式的即可,内容是1、2、3,如下:

然后我们把这个文件的内容定向到程序的输入:

因为在Jupyter里面没有运行成功,尝试着从命令行运行,如下:

运行成功

我们可以把运行结果重定向到我们想要的文件中,代码如下:

通过代码可以看到,其实输入和输出重定向用起来很方便

以上就是本章重点内容的说明!

python编程输入标准-《Python编程 第四版》 -第3章 脚本运行上下文相关推荐

  1. python编程输入标准-Python中的输入与输出

    一.计算机核心 1.计算机的三大核心为 输入.计算.输出: 2.程序就是指令的集合: 二.python输入与输出 1.简单的来说python作为一种语言,可以编写脚本和程序,那么python就具备输入 ...

  2. python编程输入标准-Python练习题,,T1.编写程序,输入

    Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...

  3. 浙大第四版概率论第一章思维导图

    浙大第四版概率论第一章思维导图 主要用于自己复习用

  4. 《汇编语言》王爽(第四版) 第十一章 实验11

    文章目录 前言 一.实验任务 二.实现思路 三.实现代码 四.DIY时间 1.需求分析 2.最终效果 3.实现代码 总结 前言 本文是王爽老师<汇编语言>(第四版) 第十一章 实验11 的 ...

  5. python编程输入标准-揭秘python编程技巧

    揭秘python编程技巧 一.python的标准输入和输出[root@133 wc]# vim stdin.py #!/usr/bin/python #encoding:utf-8 import sy ...

  6. Python编程 | 系统编程 | 脚本运行上下文 | 标准流

    文章目录 标准流 重定向流到文件或程序 重定向的常见作用 用管道(*pipe*)链接程序 adders和sorters的替代编码之选 重定向流和用户交互 重定向流到*Python*对象 `io.Str ...

  7. python起步输入-《Python编程:从入门到实践》第一章:起步

    Python编程:从入门到实践 这篇文章主要知识点是关于Python编程,从入门到实践,起步,Python编程:从入门到实践,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书 搭建编 ...

  8. python键盘输入代码,python监控键盘输入实例代码

    本文研究的主要是python监控键盘输入的相关代码,用到了os,sys,time等,具体实现代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- im ...

  9. 2021-10-06 统计学-基于R(第四版)第一章课后习题记录及总结

    1.1 题目如下 (1)基础数据录入: > income<-c("低收入户","中等偏下户","中等收入户","中等偏 ...

最新文章

  1. Java 接受reactjs数据_[Java教程]react.js 父子组件数据绑定实时通讯
  2. Win32 控件篇(3)
  3. iptables实现访问A的请求重定向到B
  4. c语言 在执行区域没有空格,C语言上机操作指导之TurboC.doc
  5. android system webview diable,FV悬浮球橡皮泥主题
  6. C++函数内部实现的规则
  7. pandas表字段为空用其余表替换
  8. n个数中的最大值和最小值
  9. 威纶通触摸屏与仪表通讯_【智】威纶通触摸屏与两台变频器Modbus RTU通讯案例详解...
  10. What Could Kill Testing?(什么可以终结测试)
  11. 解决手机WiFi(电脑热点)一直正在获取IP地址或无法访问互联网【与网上其他方法不同】
  12. python编程快速上手办公自动化_关于Pdf偏执狂的解答
  13. 磁盘的扩展卷和压缩卷显示灰色,无法使用
  14. 什么是自适应布局?什么是响应式布局?他们的区别是什么?
  15. Java笔试面试题三(编程算法)
  16. 金簿财务软件智能版3.985
  17. 【Endnote】在论文中插入参考文献,并将插入参考文献的序号格式改为[1] [2] [3] 或1,2,3
  18. Python Basic - GIL:global interpreter lock(全局解释器锁)
  19. java 和javafx_9月的十大Java故事:Java 13,JavaFX 13和Jakarta EE 8
  20. 命令行打开文件夹窗口的六种方法

热门文章

  1. 开发日记-20190330
  2. Ubuntu17.10 下配置caffe 仅CPU i386可以直接apt install caffe-cpu,但是怎么运行mnist代码我懵逼了...
  3. ES Segment Memory——本质上就是segment中加到内存的FST数据,因此segment越多,该内存越大...
  4. 递归神经网络——就是解决AST这样的问题
  5. 达观数据分析平台架构和Hive实践——TODO
  6. flask + celery
  7. Linux下配置Node.js环境
  8. Visual Studio各版本工程文件之间的转换 [转载]
  9. UVA 12266 Stock prices --优先队列
  10. C#实现winform仿div+css半透明遮罩效果