Python 如何在函数中传递文件名
我想传递一个要在rot 13中加密的.txt文件,如何传递该.txt文件,而不必硬编码要加密的单词?这就是我目前所拥有的Python 如何在函数中传递文件名,python,Python,我想传递一个要在rot 13中加密的.txt文件,如何传递该.txt文件,而不必硬编码要加密的单词?这就是我目前所拥有的 from string import maketrans rot13Translate =maketrans ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm') def rot13(text):
from string import maketrans
rot13Translate =maketrans
('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')
def rot13(text):
return text.translate(rot13Translate)
def main():
txt = ("Hello World")
print rot13(txt)
if __name__ == "__main__":
main()
假设您将您的内容放置在脚本所在的目录中,您可以执行以下操作:
def main():
with open("your_file.txt", "r") as f:
txt = f.read()
print rot13(txt)
您的其余代码不需要修改。假设您的文本在
加密的\u file.txt中:
def main(infilepath):
with open(infilepath) as infile:
for line in infile:
ciphertext = line.strip()
cleartext = rot13(ciphertext)
print cleartext
main("encrypted_file.txt")
您只需按如下方式读取python中的文件内容:
txtFile = open(path_to_text_file, 'r').read()
然后将内容传递给翻译器函数。以下是完整的代码:
from string import maketrans
rot13Translate = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')
def rot13(text):
return text.translate(rot13Translate)
def main(txtFile):
print rot13(txtFile)
if __name__ == "__main__":
txtFile = open(path_to_text_file, 'r').read()
main(txtFile)
从文件中读取文本。这是基本的。尝试使用google。您可以打开文件f
(最好通过with
语句)。您可以通过f.readlines()
将其内容分配给变量,并将其视为生成器或列表。我这样做了,但我没有正确理解。对不起……RIC13不是加密,它只是一种不提供安全性的编码