Python 3.x 从配置列表复制python3 shutil时出错
我试图通过读取config.dat文件来使用shutil复制文件。Python 3.x 从配置列表复制python3 shutil时出错,python-3.x,copy,move,shutil,Python 3.x,Copy,Move,Shutil,我试图通过读取config.dat文件来使用shutil复制文件。 此文件仅为: /主页/管理员/文档/文件1 /主页/管理员/文档/文件2 代码确实可以工作,但它会复制文件1,但会丢失文件2,因为它在那里看到一个\n,我猜这是因为新行 #!/usr/bin/python3 import shutil data = open("config.dat") filelist = data.read() src = filelist dest = '/home/admin/Documents/back
此文件仅为: /主页/管理员/文档/文件1 /主页/管理员/文档/文件2 代码确实可以工作,但它会复制文件1,但会丢失文件2,因为它在那里看到一个\n,我猜这是因为新行
#!/usr/bin/python3
import shutil
data = open("config.dat")
filelist = data.read()
src = filelist
dest = '/home/admin/Documents/backup/'
shutil.copy(src, dest)
我正在获取错误代码:
Traceback (most recent call last):
File "./testing.py", line 18, in <module>
shutil.copy(src, dest)
File "/usr/lib/python3.4/shutil.py", line 229, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib/python3.4/shutil.py", line 108, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory:
'/home/admin/Documents/file1\n/home/admin/Documents/file2'
回溯(最近一次呼叫最后一次):
文件“/testing.py”,第18行,在
shutil.副本(src,dest)
文件“/usr/lib/python3.4/shutil.py”,第229行,副本
复制文件(src、dst、follow_symlinks=follow_symlinks)
copyfile中的文件“/usr/lib/python3.4/shutil.py”,第108行
开放式(src,'rb')作为fsrc:
FileNotFoundError:[Errno 2]没有这样的文件或目录:
“/home/admin/Documents/file1\n/home/admin/Documents/file2”
我希望这些文件的副本基于config.dat文件夹中的文件运行,但它检测到“\n”
。有办法解决这个问题吗
感谢您的帮助使用split('\n')
获取文件列表并迭代该列表。您可能希望加入文件.strip()
,以消除尾随空格和空行
import shutil
dest = '/home/admin/Documents/backup/'
with open('config.dat') as data:
filelist = data.read().split('\n')
for file in filelist:
if file:
shutil.copy(file.strip(), dest)
或者,如果在此之后不需要文件列表
with open('config.dat') as data:
for file in data:
if file:
shutil.copy(file.strip(), dest)
谢谢你的帮助:)所以现在这很有效。。。出现了一些错误,因此对其进行了轻微更改,因此现在两个文件都使用以下方式进行复制:import shutil dest='/home/admin/Documents/backup/'data=open('config.dat')filelist=data.read().split('\n')用于文件列表中的文件:shutil.copy(file.strip(),dest)print(“文件已被复制”)这是可行的,但我仍然得到一个错误:将open(src,'rb')作为fsrc:FileNotFoundError:[Errno 2]没有这样的文件或目录:“”无法复制所有文件或目录。有什么建议吗?