我有一份特殊人物名单:specialCharList=['`','~','!','@','#','$','%','^',

'&','*','(',')','-','_','+','=',

'|','','{','}','[',']',';',':',

'"',',','.','','/','?',"'",'\\',' ']

我需要包括一些字符表示法,当用户按下enter按钮输入新行时。我试过'\n',但没用。有什么想法吗?在

下面是更多信息

对不起,我应该指定的。我在做一个基本的加密/解密应用程序。它的作用是将字符移到右边6个位置,然后输出。在

例如,abc将作为ghi输出

e、 输出为123克789

我也用特殊字符做了同样的事情。使用下面的列表查看它是如何工作的。在specialCharList=['`','~','!','@','#','$','%','^',

'&','*','(',')','-','_','+','=',

'|','','{','}','[',']',';',':',

'"',',','.','','/','?',"'",'\\',' ']

例如~!将输出为^&amp

当有人在文本框中输入文本、数字和特殊字符的组合并进行加密时,一切正常,但如果有人输入了一行新行(例如,按回车键),我会得到一个错误。在index=specialCharList.index(tbInput[i])

值错误:u'\n'不在列表中

完整代码如下。在import wx

import os

class mainForm(wx.Frame):

def __init__(self,parent,id):

wx.Frame.__init__(self,parent,id,'Encryption Tool v2',size=(270,300))

panel=wx.Panel(self)

#Setting up controls

wx.StaticText(panel,-1,'Enter Text Below',(10,10),(200,25))

self.tbInput=wx.TextCtrl(panel,-1,'',(10,30),(250,220),wx.TE_MULTILINE)

self.rdEncrypt=wx.RadioButton(panel,-1,'Encrypt',(10,250),(200,-1))

self.rdDecrypt=wx.RadioButton(panel,-1,'Decrypt',(10,270),(200,-1))

btnExecute=wx.Button(panel,-1,'Execute',(181,252),(80,-1))

btnExecute.Bind(wx.EVT_BUTTON,self.encryptionDecryption)

def encryptionDecryption(self,event):

tbInput=self.tbInput.GetValue()

rdEncrypt=self.rdEncrypt.GetValue()

rdDecrypt=self.rdDecrypt.GetValue()

if rdEncrypt==True and tbInput!='':

#copy encryption code below

encryptedStr=''

alphabet=['X','M','y','B','e','f','N','D','i','Q',

'k','u','Z','J','s','A','q','Y','E','P','S',

'v','w','a','U','z','p','d','C','h','o','F',

'G','H','I','n','K','W','b','g','O','t','j',

'R','l','T','c','V','L','x','r','m']

specialCharList=['`','~','!','@','#','$','%','^',

'&','*','(',')','-','_','+','=',

'|','','{','}','[',']',';',':',

'"',',','.','','/','?',"'",'\\',' ',]

for i in range(0,len(tbInput)):

if tbInput[i].isalpha():

index=alphabet.index(tbInput[i])

if index+6>len(alphabet)-1:

index=5+(index-(len(alphabet)-1))

encryptedStr+=alphabet[index]

else:

encryptedStr+=alphabet[index+6]

elif tbInput[i].isdigit():

if int(tbInput[i])+6>9:

encryptedStr+=str(-1+(int(tbInput[i])+6)-9)

else:

encryptedStr+=str(int(tbInput[i])+6)

else:

index=specialCharList.index(tbInput[i])

if index+6>len(specialCharList)-1:

index=5+(index-(len(specialCharList)-1))

encryptedStr+=specialCharList[index]

else:

encryptedStr+=specialCharList[index+6]

#print 'Encrypted Text: '+encryptedStr

#text file here

e=open('encryptedText.txt', 'w')

e.write(encryptedStr)

e.close()

if os.name == 'nt':

os.system('notepad ecryptedText.txt&')

elif os.name == 'posix':

os.system('gedit decryptedText.txt&')

os.system('gedit encryptedText.txt&')

elif rdDecrypt==True and tbInput!='':

#copy code for decryption below

decryptedStr=''

alphabet=['X','M','y','B','e','f','N','D','i','Q',

'k','u','Z','J','s','A','q','Y','E','P','S',

'v','w','a','U','z','p','d','C','h','o','F',

'G','H','I','n','K','W','b','g','O','t','j',

'R','l','T','c','V','L','x','r','m']

specialCharList=['`','~','!','@','#','$','%','^',

'&','*','(',')','-','_','+','=',

'|','','{','}','[',']',';',':',

'"',',','.','','/','?',"'",'\\',' ']

for i in range(0,len(tbInput)):

if tbInput[i].isalpha():

index=alphabet.index(tbInput[i])

if index-6>len(alphabet)-1:

index=5+(index-(len(alphabet)-1))

decryptedStr+=alphabet[index]

else:

decryptedStr+=alphabet[index-6]

elif tbInput[i].isdigit():

if int(tbInput[i])-6<0:

decryptedStr+=str(-1+(int(tbInput[i])-6)+11)

else:

decryptedStr+=str(int(tbInput[i])-6)

else:

index=specialCharList.index(tbInput[i])

if index-6>len(specialCharList)-1:

index=5+(index-(len(specialCharList)-1))

decryptedStr+=specialCharList[index]

else:

decryptedStr+=specialCharList[index-6]

#print 'Decrypted Text: '+decryptedStr

#text file here

d=open('decryptedText.txt', 'w')

d.write(decryptedStr)

d.close()

if os.name == 'nt':

os.system('notepad ecryptedText.txt&')

elif os.name == 'posix':

os.system('gedit decryptedText.txt&')

os.system('gedit encryptedText.txt&')

else:

message=wx.MessageDialog(None, 'Please enter text for encryption/decryption','No Text Found',wx.OK|wx.ICON_INFORMATION)

message.ShowModal()

message.Destroy()

if __name__=='__main__':

encryptionToolv2=wx.PySimpleApp()

frame=mainForm(parent=None,id=-1)

frame.Show()

encryptionToolv2.MainLoop()

#usrInput=raw_input('Please enter your text.\n> ')

#eOrD=raw_input('Do you want to encrypt or decrypt? (e or d)\n> ')

#if eOrD=='e' or eOrD=='E':

# encryption()

#elif eOrD=='d' or eOrD=='D':

# decryption()

python中如何表示_新行在Python中是如何表示的?相关推荐

  1. python交互式环境执行_如何在交互式环境中执行Python程序

    如何在交互式环境中执行Python程序 相信接触过Python的小伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同C d ...

  2. jupyter notebook和python有什么区别_如何在Jupyter Notebook中使用Python虚拟环境?

    如何在使用Jupyter Notebook时,解决Python虚拟环境间的切换问题?本文一步步帮你拆解.希望你能够避免踩坑的痛苦,把更多的时间花在愉快的编程上. 痛点 Python目前有两个主版本并存 ...

  3. python docx 替换文字_在.docx文件-Python中查找和替换文本

    我一直在寻找一种方法来查找和替换docx文件中的文本,但运气不好.我试过docx模块,但没能成功.最后,我使用zipfile模块并替换docx存档中的document.xml文件,得出了下面描述的方法 ...

  4. python表格中插入图片_运维(1)python操作excel插入图片

    worksheet.insert_image() insert_image****(row, col, image[, options]) 在工作表单元格中插入一张图片. 参数: row(int) - ...

  5. c++中的引用和python中的引用_对比 C++ 和 Python,谈谈指针与引用

    作者 | 樱雨楼 引言 指针(Pointer)是 C.C++ 以及 Java.Go 等语言的一个非常核心且重要的概念,而引用(Reference)是在指针的基础上构建出的一个同样重要的概念. 指针对于 ...

  6. python展示数据库视图_在Django的视图中使用数据库查询的方法

    在视图中也有笨方法可以从数据库中获取数据. 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理. 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http: ...

  7. 如何用python实现地图定位_基于 PyQt5 实现地图中定位相片拍摄位置

    项目简介:本次项目主要学习了如何查找相片中的 Exif 信息,并通过 Exif 信息中的 GPS 数据在百度地图中进行定位标点,以确定相片的拍摄地点.本次实验的目的旨在通过包含 GPS 信息的相片进行 ...

  8. python的知识点运用_程序猿在Python编程中不得不使用的十二种基础知识

    Python编程中常用的12种基础知识,其中肯定有你不会的! 人生苦短,我用Python 1.正则表达式替换 目标: 将字符串line中的 overview.gif 替换成其他字符串. 人生苦短,我用 ...

  9. python中数据读写_【循序渐进学Python——文件中数据的读写以及操作】

    [循序渐进学Python--文件中数据的读写以及操作] [循序渐进学Python--文件中数据的读写以及操作] [循序渐进学Python--文件中数据的读写以及操作] 相信大家都想过自己有一天,可以用 ...

最新文章

  1. 重磅|我国科学家成功研制全球神经元规模最大的类脑计算机
  2. opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2
  3. SpringBoot_入门-微服务简介
  4. LiveVideoStackCon深圳-AI无孔不入
  5. CTF-web文件上传漏洞
  6. 修改oracle的表空间文件scn,分享:bbed修改数据文件头推进scn与其他数据文件相同...
  7. js 快速集成开发:easyui 时间控件格式化
  8. 阿里腾讯百度们已经占据了全球互联网半壁江山!
  9. html video 笔记
  10. mysql回调地狱_es6 promise 所见
  11. android手机连不上wifi密码,修改wifi密码后手机连不上_修改wifi密码后手机不能上网-192路由网...
  12. 重装系统后,文件数据被格式化如何恢复?
  13. 微信小程序--石头剪刀布(小游戏)
  14. 自平衡自行车本质就是一个惯性飞轮,本质就是一样的!!!
  15. HDU and 蓝桥杯 完全背包练习题
  16. 计算机视觉PyTorch迁移学习 - (二)
  17. [HDU-2115] I Love This Game结构体排序典型应用
  18. asp木马中的cmd执行
  19. 小白必看,教你怎么设置引流脚本话术的教程
  20. datastage连接mysql库_DataStage8.7连接远程Oracle数据库

热门文章

  1. Java 基础系列:异常
  2. Linux基础命令---间歇执行命令watch
  3. python基础学习(四)if判断语句
  4. AX7 Form继承接口
  5. 多线程中对全局变量(整型类型)是否需要同步操作
  6. 《SQL Server企业级平台管理实践》读书笔记——SQL Server如何设置自动增长和自动收缩项...
  7. Python之网络爬虫(Xpath语法、Scrapy框架的认识)
  8. Navicate ---error 2003: can‘t connect to mysql server on ‘localhost‘(10061)“
  9. Java计算1除以3结果为0_关于java:Int division:为什么1/3 == 0的结果?
  10. 塞尔达传说gba_1986版塞尔达 回顾34年经典系列历代作品 满分最多系列游戏