如何在子进程中使用tr命令

问题描述 投票:0回答:1

我是个新手,想知道tr命令是如何工作的?该命令如何知道要对哪个文件进行操作?我的理解是语法是tr [options] [change from] [change to]。没有说明要在哪个文件上操作。我想创建一个csv文件,想把""改成","

我的文件开头是:

3251/pid/3256/
245/pid/09732/
234541/pid/92/
1/4918,

我想得到。

3251,pid,3256,
245,pid,09732,
234541,pid,92,
1,4918,

I have:

subprocess.run(['tr', '/', ',']), stdout = open('outfile.txt.tmp','w'))

它开始运行,但它从来没有完成,我每次都要退出。不知道是什么原因造成的错误,但我想知道如果我想在一个叫作 "我有 "的文件上运行tr,我的语法应该是什么?infile.txt

python csv subprocess tr
1个回答
0
投票

没有任何输入 tr 等了很久。你需要将文件内容传递给stdin。

subprocess.run(['tr', '/', ','], stdout = open('outfile.txt.tmp','w'), input=open('foo.txt').read().encode('utf-8'))
print(open('outfile.txt.tmp').read())

输出。

CompletedProcess(args=['tr', '/', ','], returncode=0)
3251,pid,3256,
245,pid,09732,
234541,pid,92,
1,4918,
© www.soinside.com 2019 - 2024. All rights reserved.