python重定向到文件
㈠ 关于python的输出重定向
importsys
f=open('a.txt','w')
print>>sys.stdout,'hello,world'
hello,world
print>>f,'hello,world'
f.close()
输出到屏幕的内容重定向到文件,供参考。
defprint(stream):
"""print(value,...,sep='',end='\n',file=sys.stdout)
Printsthevaluestoastream,ortosys.stdoutbydefault.
Optionalkeywordarguments:
file:afile-likeobject(stream);defaultstothecurrentsys.stdout.
sep:stringinsertedbetweenvalues,defaultaspace.
end:,defaultanewline."""
pass
㈡ Linux后台运行Python程序
第一种nohup命令来让程序在后台运行
括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这个是可选的,如果没有这个,则会默认输出到nohup.out文件中。括号后面你的&表示后台运行。
举个例子:
第二种方法是写一个脚本,假设我们定义了一个脚本run.sh
#!/bin/bash 是指此脚本使用/bin/bash来解释执行下面的语句,其中cd是表示将当前目录跳到所要运行文件所在目录,然后python3 文件名.py则表示运行***python文件,当写完该脚本后,执行以下命令来执行该脚本从而让程序在后台运行。
通过 ps -ef|grep python3 命令可以查看后台运行的进程都有哪些
㈢ 在线python代码编辑器怎么实现
仅仅是思路,其实网上肯定可以找到现成的代码:
把上传的代码放在某个位置
用模板重新生成main,其中包括导入用户的文件
执行python命令运行main,并把输出和错误信息重定向到文件
监控进程结束,记录时间和分析输出
㈣ python 爬网页 遇到重定向怎么处理
1.服务器端重定向,在服务器端完成,一般来说爬虫可以自适应,是不需要特别处理的,如响应代码301(永久重定向)、302(暂时重定向)等。具体来说,可以通过requests请求得到的response对象中的url、status_code两个属性来判断。当status_code为301、302或其他代表重定向的代码时,表示原请求被重定向;当response对象的url属性与发送请求时的链接不一致时,也说明了原请求被重定向且已经自动处理。
2.meta refresh,即网页中的<meta>标签声明了网页重定向的链接,这种重定向由浏览器完成,需要编写代码进行处理。例如,某一重定向如下面的html代码第三行中的注释所示,浏览器能够自动跳转,但爬虫只能得到跳转前的页面,不能自动跳转。
<html>
<head>
<metahttp-equiv="refresh"content="0.1;url=http://www..com/"><!--本网页会在0.1秒内refresh为url所指的网页-->
</head>
</html>
解决办法是通过得到跳转前的页面源码,从中提取出重定向url信息(上述代码第三行中的url属性值)。一个具体的操作:①使用xpath('//meta[@http-equiv="refresh" and @content]/@content')提取出content的值 ②使用正则表达式提取出重定向的url值。
3.js重定向,通过javaScript代码形式进行重定向。如下面javascript代码
<scriptlanguage=javascript>window.location.href='http://www..com'</script>
对于这种方式的跳转,由于可以实现该功能的JavaScript语句有多种形式,不能再使用正则表达式提取url,只能考虑加载JavaScript代码来进行解决。
㈤ python lib subprocess里面是怎么把shell的输出重定向至某个文件内
#!/usr/bin/env python
#coding=utf-8
from subprocess import Popen, PIPE
import re
def disk_space(pattern="2[0-9]%", message="CAPACITY WARNING"):
## take shell command output
ps = Popen("df -h", shell=True, stdout=PIPE, stderr=PIPE)
output_lines = ps.stdout.readlines()
for line in output_lines:
line = line.strip()
if re.search(pattern, line):
print "%s %s" %(message, line)
if __name__ == '__main__':
disk_space()
㈥ python标准输出重定向stdout.py的意思
sys.stdout 默认就是输出到控制台(console),print 默认的输出也是 sys.stdout,所以输出到控制台。
在 输入B 那,做了上下文切换with open
,也就是把默认的输出流指向到文件 out.log,
对应的代码是: sys.stdout = self.out_new,这里 out_new -> out.log,out_old = console
所以就print 指向文件,而不是控制台了
离开语句时,执行 sys.stdout = self.out_old => sys.stdout = console,还原原来的默认输入流
于是后面就输出到默认的控制
㈦ 在Python命令行输出“你好,Python”能得到什么结果
如果在 Python 命令行中输入命令,您将看到以下输出:print("你好,Python")
此代码会将字符串写入文件,而不是将其打印到命令行。可以使用此方法将函数的输出重定向到 Python 中的任何类似文件的对象,例如文件、字符串缓冲区或套接字。"你好,Python"output.txtprint()
回答不易望请采纳