相关疑难解决方法(0)

从Python中的字符串中删除特定字符

我正在尝试使用Python从字符串中删除特定字符.这是我现在正在使用的代码.不幸的是它似乎对字符串没有任何作用.

for char in line:
    if char in " ?.!/;:":
        line.replace(char,'')
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

python string immutability

491
推荐指数
13
解决办法
124万
查看次数

如何从Python中的一组字符串中删除特定的子串?

我有一组字符串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)而不是原来的,但这并没有改变任何东西.

python python-3.x

117
推荐指数
7
解决办法
25万
查看次数

使用替换词典替换字符串的最简单方法是什么?

考虑..

dict = {
'?????':'?????',
'russianA':'englishA'
}

s = '????? russianA'
Run Code Online (Sandbox Code Playgroud)

我想用它们各自的dict值替换所有dict键s.

python regex

71
推荐指数
4
解决办法
6万
查看次数

为什么random.shuffle会返回None?

为什么要在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 random shuffle list

69
推荐指数
4
解决办法
5万
查看次数

为什么Python字符串是不可变的?使用它们的最佳实践

  1. 使Python字符串不可变的设计原因是什么?它如何使编程更容易?
  2. 我已经习惯了可变字符串,比如C语言中的字符串.如果没有可变字符串,我应该如何编程呢?有没有最佳做法?

python string immutability

49
推荐指数
4
解决办法
2万
查看次数

用<br />替换\n

我正在用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 string replace newline

41
推荐指数
5
解决办法
11万
查看次数

IOError:[Errno 2]没有尝试打开文件的文件或目录

我是Python的新手,所以请原谅以下基本代码和问题,但我一直在试图找出导致我得到的错误的原因(我甚至在SO上看过类似的线程)但是无法通过我的问题.

这是我想要做的:

  • 循环遍历CSV文件的文件夹
  • 搜索"关键字"并删除包含"关键字"的所有行
  • 将输出保存到单独的文件夹

这是我的代码:

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我和如何解决它?另外,我的代码还有什么问题会妨碍我执行整个任务吗?

python

22
推荐指数
4
解决办法
14万
查看次数

替换不在python中工作的字符

我正在使用漂亮的汤,我正在编写一个爬虫,并在其中包含以下代码:

  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,等等.但是,它不工作的链接.链接仍然是领先的".."有什么我想念的吗?

python

15
推荐指数
3
解决办法
4万
查看次数

rstrip没有删除换行符char我做错了什么?

把我的头发拉到这里......在最后一小时里一直在玩这个但是我不能让它做我想做的事,即.删除换行序列.

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)

python newline

12
推荐指数
1
解决办法
3万
查看次数

字符串替换似乎不起作用

我最初尝试使用=运算符来赋值但是它返回了一个错误,然后我尝试使用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 string replace

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×10

string ×4

immutability ×2

newline ×2

replace ×2

list ×1

python-3.x ×1

random ×1

regex ×1

shuffle ×1