我正在使用python sys将我的stdout保存到文本文件中.
sys.stdout=open('OLSYield.txt','w')
Run Code Online (Sandbox Code Playgroud)
但是我只想要一部分stdout转到文本.如何停止写入txt文件并重定向回终端或控制台?
所以看起来应该是这样的
sys.stdout=open('OLSYield.txt','w')
print "helloWorld appears in text file"
sys.stdout=close('OLSYield.txt','w')
print "helloWorld appears in console"
Run Code Online (Sandbox Code Playgroud)
我不确定我应该用什么命令关闭 stdout=open
我正在创建一个检查输入并在输入格式不正确时退出的函数。但是,我收到一个错误,提示 sys.exit() 是“无效语法”。任何帮助将非常感激!
import re
import sys
def my_program(x):
# takes input in form '#d#'
if re.match('\d\w\d', x ) is False:
print('Format of input must be '#d#')
sys.exit()
Run Code Online (Sandbox Code Playgroud) 我正在用python 2.7编写
我有以下代码:
a = 0
b = 0
while True:
a += 1
b += 1
print str(a)
print str(b)
Run Code Online (Sandbox Code Playgroud)
输出如下:
1
1
2
2
3
3
4
....
Run Code Online (Sandbox Code Playgroud)
并希望用这两行冲洗stdout.flush().代码看起来像这样,但它不起作用..
import sys
a = 0
b = 0
while True:
a += 1
b += 1
sys.stdout.write(str(a)+"\n")
sys.stdout.write(str(b)+"\r")
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
这会产生如下输出:
1 #1
2 #1 ->#2
3 #2 ->#3
4 #3 ->#4
...
Run Code Online (Sandbox Code Playgroud)
我知道这是因为\r只跳到第二行的开头,然后从下一个打印开始..
如何将光标设置为第1行的开头而不是第2行?
所以它只刷新2行:
n #1 ->#2 ->#3 ->#4 ->#.....
n #1 ->#2 ->#3 …Run Code Online (Sandbox Code Playgroud) 我有一系列脚本,它们被另一个脚本以明确的顺序调用run.py。
里面run.py我有以下内容:
script1 = str(sys.path[0]) + "\\script1.py"
subprocess.call(["Python", script1])
Run Code Online (Sandbox Code Playgroud)
依此类推 3 个脚本。如果我想以这种格式向脚本 1 传递两个参数,例如脚本执行时要在脚本中使用的显式运行设置等参数,我该怎么做?我有一种感觉,它会依赖于 script1 中的 sys.argv,但是无论我传递什么索引位置,都会出现参数超出范围的错误。
谢谢!
主文件
#main.py
import main
print('Hello')
Run Code Online (Sandbox Code Playgroud)
输出:
Hello
Hello
Run Code Online (Sandbox Code Playgroud)
我相信,当涉及到该行时import main,当时main已注册sys.modules,因此另一个脚本的 import 语句(我相信它不是其中的一部分__main__)不会被执行。有人可以告诉我我是否理解正确?如果不是,请给出解释。
我如何在python中的字符串中转义\n.
我怎么写python这个字符串中的stdin "abc\ndef"作为单个输入
Sys.stdout.write("abc\ndef")
Run Code Online (Sandbox Code Playgroud)
电流输出
import sys
>>> sys.stdout.write("abc\ndef")
abc
def
Run Code Online (Sandbox Code Playgroud)
我希望它是 abc\ndef
我有一个函数,它接收并读取一个csv文件,以便我可以输入
python myscript.py filename.csv运行我的脚本.以下是我的功能:
def read(sys.argv[1]):
...
...
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误:
File "myscript.py", line 6
def read(sys.argv[1]):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我怎么能写我的脚本才能做到这一点?
谢谢,
为什么当我运行这行代码时:
print ("syntax %(name,name,name)",sys.stderr)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
('syntax %(name,name,name)', <open file '<stderr>', mode 'w' at 0x01CE60D0>)
Run Code Online (Sandbox Code Playgroud)