我正在尝试使用Python从字符串中删除特定字符.这是我现在正在使用的代码.不幸的是它似乎对字符串没有任何作用.
for char in line:
if char in " ?.!/;:":
line.replace(char,'')
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我有一组字符串set1
,并且所有字符串set1
都有两个特定的子字符串,我不需要并且想要删除它们.
示例输入:
set1={'Apple.good','Orange.good','Pear.bad','Pear.good','Banana.bad','Potato.bad'}
基本上我希望从所有字符串中删除.good
和.bad
子串.
我尝试了什么:
for x in set1:
x.replace('.good','')
x.replace('.bad','')
Run Code Online (Sandbox Code Playgroud)
但这似乎根本不起作用.输出绝对没有变化,它与输入相同.我尝试使用for x in list(set1)
而不是原来的,但这并没有改变任何东西.
考虑..
dict = {
'?????':'?????',
'russianA':'englishA'
}
s = '????? russianA'
Run Code Online (Sandbox Code Playgroud)
我想用它们各自的dict值替换所有dict键s
.
为什么要在python中random.shuffle
返回None
?
>>> x = ['foo','bar','black','sheep']
>>> from random import shuffle
>>> print shuffle(x)
None
Run Code Online (Sandbox Code Playgroud)
如何获得洗牌值而不是None
?
我正在用Python解析文件中的文本.我必须替换所有换行符(\n),
因为这个文本将构建html-content.例如,这是文件中的一些行:
'title\n'
Run Code Online (Sandbox Code Playgroud)
现在我做:
thatLine.replace('\n', '<br />')
print thatLine
Run Code Online (Sandbox Code Playgroud)
我仍然看到带有换行符的文本.
我是Python的新手,所以请原谅以下基本代码和问题,但我一直在试图找出导致我得到的错误的原因(我甚至在SO上看过类似的线程)但是无法通过我的问题.
这是我想要做的:
这是我的代码:
import os, fnmatch
import shutil
src_dir = "C:/temp/CSV"
target_dir = "C:/temp/output2"
keyword = "KEYWORD"
for f in os.listdir(src_dir):
os.path.join(src_dir, f)
with open(f):
for line in f:
if keyword not in line:
write(line)
shutil.copy2(os.path.join(src_dir, f), target_dir)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
IOError: [Errno 2] No such file or directory: 'POS_03217_20120309_153244.csv'
Run Code Online (Sandbox Code Playgroud)
我已确认文件夹和文件确实存在.是什么导致IOError
我和如何解决它?另外,我的代码还有什么问题会妨碍我执行整个任务吗?
我正在使用漂亮的汤,我正在编写一个爬虫,并在其中包含以下代码:
print soup.originalEncoding
#self.addtoindex(page, soup)
links=soup('a')
for link in links:
if('href' in dict(link.attrs)):
link['href'].replace('..', '')
url=urljoin(page, link['href'])
if url.find("'") != -1:
continue
url = url.split('?')[0]
url = url.split('#')[0]
if url[0:4] == 'http':
newpages.add(url)
pages = newpages
Run Code Online (Sandbox Code Playgroud)
本link['href'].replace('..', '')
应该修复出来的../contact/orderform.aspx,../contact/requestconsult.aspx,等等.但是,它不工作的链接.链接仍然是领先的".."有什么我想念的吗?
把我的头发拉到这里......在最后一小时里一直在玩这个但是我不能让它做我想做的事,即.删除换行序列.
def add_quotes( fpath ):
ifile = open( fpath, 'r' )
ofile = open( 'ofile.txt', 'w' )
for line in ifile:
if line == '\n':
ofile.write( "\n\n" )
elif len( line ) > 1:
line.rstrip('\n')
convertedline = "\"" + line + "\", "
ofile.write( convertedline )
ifile.close()
ofile.close()
Run Code Online (Sandbox Code Playgroud) 我最初尝试使用=
运算符来赋值但是它返回了一个错误,然后我尝试使用string.replace()
:
encrypted_str.replace(encrypted_str[j], dec_str2[k], 2)
Run Code Online (Sandbox Code Playgroud)
和
encrypted_str.replace(encrypted_str[j], unichr(ord(dec_str2[k]) - 32), 2)
Run Code Online (Sandbox Code Playgroud)
但它正在返回原始价值.
帮助了解如何正确使用替换API以提供正确的结果还有其他任何可用于代替的API unichr()
.
在encrypted_str
正在从用户采取的encrypted_str = raw_input()
dec_str2
是频率字符为通过用户输入.这个问题几乎不涉及我想知道的变量,如果我replcae()
错误地使用API,因为它给了我未更改的输出.encrypted_str
我们可以使用encrypted_str[j]
它将返回字符串中的字符来定义replace()
API 的子字符串.我使用encrypted_str.replace(encrypted_str[j], unichr(ord(dec_str2[k]) - 32), 1)
max replace 1而不是2(因为我只需要一个替换).
我需要完成的实际操作将在C中,如下所示:
encrypted_str[j] = dec_str2[k] -32
.
因为我是python的新手,所以我试图寻找替代品.
python ×10
string ×4
immutability ×2
newline ×2
replace ×2
list ×1
python-3.x ×1
random ×1
regex ×1
shuffle ×1