我正在创建一个脚本,将文本文件中提到的所有文件复制到某个目的地。
这是我的剧本:
with open('names.txt') as f:
for line in f:
a = 'cp ' + line + ' /root/dest1'
print a
os.system(a)
这是打印命令:
( Incorrect )
cp 91.txt
/root/dest1
cp 92.txt
/root/dest1
cp 93.txt
/root/dest1
...
虽然它应该像这样打印:
(correct)
cp 91.txt /root/dest1
cp 92.txt /root/dest1
cp 93.txt /root/dest1
...
这是我的档案
(names.txt)
91.txt
92.txt
93.txt
94.txt
95.txt
96.txt
97.txt
98.txt
99.txt
9.txt
任何人都可以帮我解决这个问题。顺便说一句,我打印命令只是为了知道出了什么问题。
答案 0 :(得分:0)
迭代文件会产生线条。每行包含换行符。
删除换行符with open('names.txt') as f:
for line in f:
a = 'cp ' + line.rstrip() + ' /root/dest1'
# a = 'cp {} /root/dest1'.format(line.rstrip())
print a
os.system(a)
如果您使用shutil.copy
,则无需使用os.system
:
import shutil
with open('names.txt') as f:
for line in f:
shutil.copy(line.rstrip(), '/root/dest1')