导航:首页 > 编程语言 > python标准输入输出

python标准输入输出

发布时间:2022-12-17 03:58:35

A. 在python中,怎么实现输入

Python的输入输出分别是利用函数:

str = input("请输入:");
print ("你输入的内容是: ", str);
input函数返回一个string类型的值,声明一个变量来接收输入的值,print是输出

B. python调用sac--参考SAC手册

#this python file is used to read SAC file

import os

import sys

import subprocess

import glob

from obspy.core import read

from PyQt5.QtWidgetsimport *

from PyQt5.QtGuiimport *

from PyQt5.QtCoreimport *

from PyQt5import QtCore, QtGui, QtWidgets

'''import os 是导入标准库os,利用其中的API。

sys模块包含了与Python解释器和它的环境有关的函数。

glob是python自带的一个文件操作模块,用它查找符合目的的文件,类似于Windows下的文件搜索,支持通配符操作

subprocess允许创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等

'''

def run(path):

# path = QtWidgets.QFileDialog.getExistingDirectory(None, "Select File Directory to Save File", "")

    fileName = os.listdir(path)

os.chdir(path)

os.putenv("SAC_DISPLAY_COPYRIGHT", '0')

for namein fileName:

# name = i

#for file in glob.glob("*.SAC"):

#glob.glob是匹配所有符合条件的文件,并将其以list的形式返回

#os.putenv("SAC_DISPLAY_COPYRIGHT", '0') #os.putenv(‘环境变量名称’, ‘环境变量值’)

#p = subprocess.Popen(['sac'], stdin=subprocess.PIPE)#Popen表示调用sac

#stdin指向键盘输入,standard input

#Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信

# s = "r " + name + " \n"  ###这里应该是传入某个文件,所以应该有个读取文件的按钮

# s += "qdp off\n"

# s += "ch allt (0 - &1,o&) iztype IO \n"  #修改发震时刻为零

# s += "rmean; rtrend; taper \n"  #去均值,去线性趋势,去尖灭

# s += "bp c 0.05 10 n 4 p 2 \n"  #带通滤波

# s += "w over\n"

# s += "r *BHN *BHE \n"  #分量旋转,读入N、E分量,rot并修改头段变量

# s += "rotate to gcp"

# s += "w .BHR .BHT"

# s += "r *.BHR\n"

# s += "ch KCMPNM BHR\n"

# s += "w over\n"

# s += "r *.BHT\n"

# s += "ch KCMPNM BHT\n"

# s += "w over\n"

# s += "p \n"

# s += "saveimg 2009.ps\n"

# s += "q\n"

        s ="r " + name +" \n"

        #s += "ppk p 3 a m\n"

        s +="w over\n"

        s +="q \n"

        # p.communicate(s.encode()) #通过p.communicate() 将命令s.encode() 传递给sac,实现sac的操作

        subprocess.Popen(['sac'], stdin=subprocess.PIPE).communicate(s.encode())

C. Python常用标准库之sys

sys模块主要是针对与Python解释器相关的变量和方法,不是主机操作系统。
导入方式: import sys

sys.argv是一个脚本执行参数列表,列表的第一个元素是脚本名称,从第二个元素开始才是真正的参数。

path是一个目录列表,供Python从中查找模块。在Python启动时,sys.path根据内建规则和PYTHONPATH变量进行初始化。sys.path的第一个元素通常是个空字符串,表示当前目录。

sys.path本质上是一个列表,可以进行append、insert、pop、remove等各种列表相关的操作,但通常都进行append操作,添加自己想要的查找路径。

stdin 用于所有的交互式输入(包括input()函数)。
stdout 用于print()的打印输出或者input()函数的提示符。
stderr 用于解释器自己的提示信息和错误信息。

简而言之,这三个属性就是操作系统的标准输入、输出和错误流,它们返回的都是一个“文件类型”对象,支持read()、write()和flush()等操作,就像用open()方法打开的文件对象那样!

当我们用 input('Please input something!') 时,事实上是先输出提示信息,然后捕获输入。 以下两组等价:

当我们 print(obj) 的时候,事实上是调用了 sys.stdout.write(obj+' ') ,将内容打印到控制台(默认是显示器),然后追加一个换行符。以下两行等价:

默认情况下 sys.stdout 指向控制台。如果把文件对象赋值给 sys.stdout ,那么 print () 调用的就是文件对象的 write() 方法。

如果你还想同时在控制台打印的话,最好先将原始的控制台对象引用保存下来,向文件中打印之后再恢复 sys.stdout .

参考:

D. 求用python输入一个三位自然数,计算并输出其百位、十位和个位上的数字的代码(两种方法)

#方法一:
print('百位:{},十位:{},个位:{}'.format(*input('请输入一个三位数:')))

#方法二:
i=int(input('请输入一个三位数:'))
t=(i//100,i//10%10,i%10)
print('百位:{},十位:{},个位:{}'.format(*t))

E. Python,怎么在输入非数字时,输出一句话

Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:
1.raw_input
2.input
raw_input函数
raw_input() 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):

复制代码 代码如下:

str = raw_input("Enter your input: ");
print "Received input is : ", str

这将提示你输入任意字符串,然后在屏幕上显示相同的字符串。当我输入"Hello Python!",它的输出如下:

复制代码 代码如下:

Enter your input: Hello Python
Received input is : Hello Python

F. Python基础之:Python中的IO

IO就是输入和输出,任何一个程序如果和外部希望有交互的话,都需要使用到IO。相对于java而言,Python中的IO更加的简单,易用。
本文将会详细介绍Python中的IO操作。

linux中有三种标准输入输出,分别是STDIN,STDOUT,

STDERR,对应的数字是0,1,2。

STDIN是标准输入,默认从键盘读取信息;

STDOUT是标准输出,默认将输出结果输出至终端;

STDERR是标准错误,默认将输出结果输出至终端。

我们常用的 2>&1,指将标准输出、标准错误指定为同一输出路径 。

python中,我们可以使用print方法来输出信息。\

我们看下print函数的定义:

print函数将 objects 打印到 file 指定的文本流,以 sep 分隔并在末尾加上 end。 sep, end, file 和 flush 如果存在,那么必须以关键字参数的形式给出。

所有非关键字参数都会被转换为字符串,并会被写入到流,以 sep 分割,并在末尾加上 end。 sep 和 end 都必须为字符串;它们也可以为 None,这意味着使用默认值。 如果没有给出 objects,则 print() 将只写入 end。

file 参数必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print()不能用于二进制模式的文件对象。 对于这些对象,可以使用 file.write(...)。

输出是否被缓存通常决定于 file,但如果 flush 关键字参数为真值,输出流会被强制刷新。

可以看到print的输出格式还是比较简单的。我们接下来看一下怎么丰富输出的格式。

如果想要格式化字符串,可以在字符串的开始引号之前加上 f 或 F。
这样的话,我们可以直接在字符串中引入变量值,只需要把变量放在 { 和 } 中间即可。

除了在{ }中放入Python变量之外,还可以在其中放入函数:

在 ':' 后传递一个整数可以让该字段成为最小字符宽度。方便列对齐:

{ }中的变量后面还可以跟着转值符号:'!a' 表示应用 ascii() ,'!s' 表示应用 str(),还有 '!r' 表示应用 repr():

除此之外,str本身自带一个功能强大的format 函数:

调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域,每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。

再看一个使用索引的例子:

看一个关键字的例子:

再看一个组合的例子:

还有非常复杂的组合的例子:

或者使用 '**' 符号将 table 作为关键字参数传递:

还可以使用n类型 '{:n}' 来格式化数字:

如果我们只是想要将Python对象转换为字符串,那么可以使用repr()或者str(), str() 函数是用于返回人类可读的值的表示,而 repr()是用于生成解释器可读的表示。
举个例子:

str对象还提供了一些对字符串进行手动格式化的方法:

字符串对象的 str.rjust()方法通过在左侧填充空格来对给定宽度的字段中的字符串进行右对齐。类似的方法还有 str.ljust()和 str.center()。
如果输入的字符串太长,它们不会截断字符串,而是原样返回。
如果想保证字符串的长度,则可以使用切片: x.ljust(n)[:n] 。
还可以使用str.zfill()来用0填充字符串:

% 也可以用来格式化字符串,给定 'string' % values,则 string 中的 % 实例会以零个或多个 values 元素替换。 此操作通常被称为字符串插值。

python中文件读取非常简单,使用open()方法即可。
open()会返回一个文件对象。我们看一下它的定义:

第一个参数是文件名。
第二个参数是文件打开的模式,可用的模式有:

默认模式为 'r' 。
看一个open文件的例子:

文件打开了,自然需要被关闭,所以我们需要显示调用 f.close() 方法:

有没有类似java中的try with resource的自动关闭文件的功能呢?
我们可以使用with,这样文件在使用完毕之后,会自动被关闭,非常的好用。

文件被关闭之后,如果想要再次读取,就会报错:

获取到文件对象之后,我们就可以调用文件中的方法了。

f.read(size) 会读取一些数据并将其作为字符串(在文本模式下)或字节串对象(在二进制模式下)返回。

size 是一个可选的数值参数。 当 size 被省略或者为负数时,将读取并返回整个文件的内容;当取其他值时,将读取并返回至多 size 个字符(在文本模式下)或 size 个字节(在二进制模式下)。 如果已到达文件末尾,f.read() 将返回一个空字符串 ('')。

f.readline() 从文件中读取一行;换行符(\n)留在字符串的末尾,如果文件不以换行符结尾,则在文件的最后一行省略。如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 '\n' 表示,该字符串只包含一个换行符。

还有一种更加简单的读取方法,就是从文件中遍历:

如果你想以列表的形式读取文件中的所有行,你也可以使用 list(f) 或 f.readlines()。
f.write(string) 会把 string 的内容写入到文件中,并返回写入的字符数。

如果是在文本模式下,那么在写入文件之前,需要把对象转换成为文本形式,我们可以使用str()来进行转换。

使用f.seek(offset, whence)可以定位文件指针的位置,然后后续会从该位置开始进行读取操作。

whence 的 0 值表示从文件开头起算,1 表示使用当前文件位置,2 表示使用文件末尾作为参考点。 whence 如果省略则默认值为 0,即使用文件开头作为参考点。

JSON是一个很方便进行信息交流的文件格式。我们看下怎么使用JSON来将对象转换为字符串:

mps是将对象转换为json str。 json还有一个mp方法,可以直接将对象存入到文件中。

要从文件中解析出json字符串,可以使用load:

JSON 中的键-值对中的键永远是 str类型的。当一个对象被转化为 JSON 时,字典中所有的键都会被强制转换为字符串。这所造成的结果是字典被转换为 JSON 然后转换回字典时可能和原来的不相等。换句话说,如果 x 具有非字符串的键,则有 loads(mps(x)) != x。

阅读全文

与python标准输入输出相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163