我有一个文本文件,其中包含以下内容
bash-4.1# cat filelist.txt
js/config/organization.js
js/config/account.js
protected/config/settings.php
下面是python脚本文件。此脚本将从上面的文本文件中读取文件,并将相同的文件上载到Azure blob。我可以使用for循环逐行读取文件。但是会显示\n
行。所以,脚本失败了。有人可以告诉我如何阅读确切的行并替换它需要的地方吗?
bash-4.1# more blob_copy.py
#! /usr/bin/env python
import sys
import os
from azure.storage import BlobService
blob_service = BlobService()
for line in open('file2.txt','r').readlines():
blob_service.put_block_blob_from_path('test', line, line)
当我尝试运行脚本时,出现以下错误。
bash-4.1# python blob_copy.py
Traceback (most recent call last):
File "blob_copy.py", line 12, in <module>
blob_service.put_block_blob_from_path('test', line, line)
OSError: [Errno 2] No such file or directory: 'js/wheelhouse/organization.js\n'
答案 0 :(得分:0)
问题似乎是,当您读取行时,它们仍然包含终止换行符号(\n
),文件名不会。解决方案是strip()
行:
with open('file2.txt','r') as istr:
for line in istr:
line = line.strip()
# Your code here...
答案 1 :(得分:0)
您可以这样做:
import sys, os
list = open('file2.txt','r').read().splitlines()
for i in list:
print i
返回没有换行符的行(\ n)。