社区首页 >问答首页 >子进程-调用-命令的格式不正确

子进程-调用-命令的格式不正确
EN

Stack Overflow用户
提问于 2022-02-25 15:25:54
回答 1查看 40关注 0票数 -1

我正在读取一个文件&基于分隔符“AC.26”写入另一个文件。我使用的是文件中的行,但是XML数据中有新的行,这不能给出正确的结果。所以我用

代码语言:javascript
代码运行次数:0
复制
os.popen ("cut -d '|' -f2 " + tempfile + ' > ' + targetfile)

但是,虽然这会执行我在python中的其他命令& count结果变成incorrect.So,但我尝试按下面的方式使用subprocess.call &因为命令不正确。

代码语言:javascript
代码运行次数:0
复制
subprocess.call("cut -d '|' -f2 " + tempfile + ' > ' + targetfile)

有人能帮助正确格式化此命令以便将其正确解析为Python吗?tempfile & values文件是完整文件路径的参数化值。

EN

回答 1

Stack Overflow用户

发布于 2022-02-25 15:54:41

默认情况下,subprocess.call (a)需要命令行参数列表,而不是字符串,(b)不使用shell运行,因此不能使用>或其他i/o重定向机制。有几种“修复”代码的方法:

  1. 只是用Python修复了它。

您已经使用了一种具有丰富功能的语言来操作文本。您不需要调用像cut这样的程序:

以open(tempfile)作为infd,open(targetfile,"w")作为outfd: for line in infd: outfd.write(line.split("|")1)

  1. 设置了方法调用的shell=True,以便该命令由shell执行:

{targetfile}") (subprocess.call)(f“剪切-d‘-f2’-f2 {tempfile} >-f2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71272750

复制
相关文章
2018年swoole实战7-进程详解创建子进程调用外部程序查看进程树多进程的实战案例
如果用php去抓取网页内容,传统的方式是用一个for循环,将url逐个遍历,假设每个url耗时1秒,6个url就需要耗时6s,这种方式效率太低了。通过swoole的进程管理模块,我们可以实现多进程抓取内容,每个进程对应负责一个url,从而实现1秒完成抓取任务
章鱼喵
2018/08/02
5810
Nodejs子进程
进程是CPU分配资源的最小单位,分配独立内存,进程之间可通信,但是必须通过内核,使用IPC接口来做,代价比较大 线程是CPU调度的最小单位
epoos
2022/06/06
1.3K0
Nodejs子进程
Java日期格式化带来的年份不正确
一个线上项目之前一直运行得很稳定,从没出过数据错误的问题,但是在2021.12.26这天却“意外”地出现了数据计算错误。 刚开始一头雾水,不知道是什么问题,后来经过日志排查才定位到原来是日期格式化引起的问题,原本应该是“2021-12-26”日期字符串,但是格式化为“2022-12-26”了。 现场还原:
编程随笔
2022/11/28
2.7K0
Java日期格式化带来的年份不正确
[apue] 等待子进程的那些事儿
谈到等待子进程,首先想到的就是 SIGCHLD 信号与 wait 函数族,本文试图厘清二者的方方面面,以及组合使用时可能的坑。
海海
2022/08/19
2.4K0
Windows内核之进程的终止和子进程
<2>进程中的一个线程调用ExitProcesss函数(应该避免使用这样的方法)。
全栈程序员站长
2022/07/12
1.7K0
父进程和子进程谁先运行?
Linux中,父进程和子进程是并行运行的,先运行哪个是不确定的,在小红帽系统(Red Hat)中,先运行的是子进程,在ubuntu系统中,父进程是先运行的。
Jasonangel
2021/05/28
3.9K0
wait() 回收子进程
在前面的文章中我们讨论了如何通过 fork() 函数创建子进程,创建后的子进程如果优先于父进程退出,子进程的虚拟内存空间就消失了,但是进程控制块PCB并没有消失,这里面包含了这个子进程的退出状态,需要由父进程来进行回收。在父进程回收之前,这个进程被称为僵尸进程(僵死进程),任何一个子进程都会经过这段僵尸进程的阶段,最后由父进程来回收。
我与梦想有个约会
2023/10/20
2390
linux:根据主进程查找子进程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
10km
2019/09/18
4.9K0
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
在使用python的multiprocess库时,如果在主进程中的处理子进程的返回函数callback或者处理子进程的错误的函数errorbackerror中抛出异常,则子进程无法退出。 (1)errorcallback中抛出异常
锦小年
2021/12/08
3.1K0
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
pytest的使用_调用方法的具体调用格式为
这种方式会运行所有通过装饰器 @pytest.mark.slow进行装饰的测试用例。
全栈程序员站长
2022/09/16
9440
pytest的使用_调用方法的具体调用格式为
Erlang 01 - 子进程规范
子进程规范是一个用于描述监督者管理的进程的元组. 对于大多数监督者而言, 子进程会随监督者的启动而启动, 并在监督者的生命周期结束时退出. 对于单个需要监督的进程, init/1函数给出的描述如下:
Reck Zhang
2021/08/11
1K0
cluster模块设置子进程的stdio
子进程的stdout及stderr需要被设置为某个文件,根据文档 setupMaster 说明,需要设置stdio数组:
欲休
2019/12/12
7530
nodejs几种创建子进程的区别
启动一个子进程来执行命令,但可以有一个回调函数获取子进程的一些情况。可以设置超时时间。进程类型任意
ACK
2020/01/14
2K0
nodejs几种创建子进程的区别
子线程调用UI线程的方法
vs2005中,子线程不允许使用UI中的控件,网上的解决方法都有:使用控件的Invoke,不过在我自己的应用中总觉得麻烦:我要从子线程中调用一个主线程中的处理,要用一次委托,而Invoke还要用委托,绕来绕去,把人绕的很晕。我稍微改了一下结构,可以比较方便的达到在子线程中调用UI线程中的处理函数。 在线程类中,定义 public delegate void ReceivedHandlerUI(object obj);     //接收处理,涉及UI 使用两个变量,第二个只要是界面中的任意控件都行,主要是利
用户1075292
2018/01/23
1.2K0
关于父进程和子进程的关系(UAC 绕过思路)
假设是a进程创建了b进程,那么a进程就是b进程的父进程。反之,假设是b创建了a,那么b进程就是a的父进程,这是在windows出现以来一直是程序员们都证实的,可是在在win Vista后面有了一个新安全消息机制。UAC(user account control),这里科普下UAC的功能,事实上UAC就是大家常见的安装软件或者启动程序的时候的出现的全屏变暗的一个提示框,这里顺便提醒下大家不要把它的提醒级别减少。这里大家不要蓄意把他的提示级别较低。这样会带来非常大的安全隐患。由于正常的UAC级别下,会检測程序是否有数字签名(可识别程序),以及他的数字签名是否合法。这对于一部分低端的木马具有提醒作用(注意这里说的是能够提示一般的 灰鸽子等变种,高端的木马会绕过这里,具体思路见后面),好了这里再回头说进程关系,这里先说一句关键的话:进程在创建进程时。他的父进程能够被指定。这个是在《深入解析Windows操作系统》(第六版)中有具体的说明,里面的意思是这样解释UAC提权的,当用户同意一次UAC提权时。AIS服务(AppInfo Service)调用的CreateProcessAsUser() 函数创建进程而且赋予恰当的管理员权限,在理论上说AIS服务(所在的进程)是提权后进程的父进程。当我们用进程树查看工具(顺便推荐几款用过的Process moniter。IceSworld,Process Explorer等) 查看时,会发现提权的进程的父进程是创建它的进程,这是由于AIS利用了CreateProcessAsUser() API中的一个新的功能,这里的新功能就是将提权进程的父进程设置成创建该进程的进程,假设我们利用一下该API,我们就能够将自己的进程的的父进程设置为随意进程(要提权绕过UAC的鸽子注意了),假设把木马进程的父进程设置为 杀软 的ID或者csrss.exe ,notepad.exe 等可信进程,那么对于根据父进程可疑(进程链)来查杀的杀软就轻易绕过了,这里顺便提示下还有一个绕过反调试的小技巧,假设你发现一个该死的小程序检查父进程是不是explorer.exe来推断是否是合法环境。那你会咋办?这里通常是逆向一些小游戏的时候常见滴,好吧,不卖关子了。根据上面的介绍,我调试的时候把他的父进程从 ollydbg直接改成他要求的explorer.exe 就Ok了。
全栈程序员站长
2022/07/20
1.7K0
深入理解Node.js的进程与子进程
process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块:
coder2028
2022/10/03
2K0
Toast在子线程调用的问题
如果在子线程调用那么让Toast能正常显示的方式是在它之前和之后调用Looper.prepare()和Looper.loop()
PhoenixZheng
2018/08/07
7960
Linux中查看进程、杀死进程、进入进程的命令
1.查看进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。     ps e 列出程序时,显示每个程序所使用的环境变量。     ps f 用ASCII字符显示树状结构,表达程序间的相互关系。     ps -H 显示树状结构,表示程序间的相互关系。     ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。     ps s 采用程序信号的格式显示程序状况。     ps S 列出程序时,包括已中断的子程序资料。     ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。     ps u 以用户为主的格式来显示程序状况。     ps x 显示所有程序,不以终端机来区分。     最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。     ps aux | grep program_filter_word,ps -ef |grep tomcat  ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。  2.杀死进程    使用kill命令结束进程:kill xxx    常用:kill -9 324    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
菲宇
2022/12/02
11.9K0
Linux系统进程编程之回收子进程(三)
1、我们先来看这个函数的原型和它所包含的头文件(在Linux系统下,使用man 手册来查看它的具体用法:man 2 wait):
用户6280468
2022/03/18
3.4K0
Linux系统进程编程之回收子进程(三)
父进程退出时如何确保子进程退出?
子进程退出的时候,父进程能够收到子进程退出的信号,便于管理,但是有时候又需要在父进程退出的时候,子进程也退出,该怎么办呢?
编程珠玑
2019/09/02
12.4K0

相似问题

子进程并调用sftp命令。

22

使用子进程调用nbtstat命令

11

Python子进程调用VLC命令

10

调用git命令的Python子进程

265

子进程调用ffmpeg (命令行)

42
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文