如何在子进程中使用 tr 命令
How to use tr command in subprocess
我是 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,
我有:
subprocess.run(['tr', '/', ',']), stdout = open('outfile.txt.tmp','w'))
它开始 运行 但它从未完成,我每次都不得不退出。不确定错误是什么,但我想知道如果我想 运行 在名为 infile.txt 的文件上使用 tr,我的语法应该是什么
没有任何输入 tr
永远等待。您需要将文件内容传递给标准输入:
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,
我是 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,
我有:
subprocess.run(['tr', '/', ',']), stdout = open('outfile.txt.tmp','w'))
它开始 运行 但它从未完成,我每次都不得不退出。不确定错误是什么,但我想知道如果我想 运行 在名为 infile.txt 的文件上使用 tr,我的语法应该是什么
没有任何输入 tr
永远等待。您需要将文件内容传递给标准输入:
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,