我是Learning Python the Hard Way。如何编辑此代码以使用名为'bobsDetails.txt'
的文件?
from sys import argv
script, filename = argv
txt = open(filename)
print "Here's your file %r:" % filename
print txt.read()
print "Type the filename again:"
file_again = raw_input("> ")
txt_again = open(file_again)
print txt_again.read()
答案 0 :(得分:0)
您想查看fileinput
假设我有这个文件:
$ cat bobsDetail.txt
File 'Bob's Detail'
我可以写一个简单的循环,它将1)处理stdin或2)打开文件名并处理内容:
#!/usr/bin/python
import fileinput
for line in fileinput.input():
print line
现在制作可执行文件(Unix):
$ chmod +x fi.py
然后你可以按照任何方式处理它:
$ ./fi.py bobsDetail.txt
File 'Bob's Detail'
或者,
$ cat bobsDetail.txt | ./fi.py
File 'Bob's Detail'
然后你可以识别stdin vs file:
for line in fileinput.input():
if fileinput.isfirstline():
if fileinput.isstdin():
print 'stdin'
else:
print fileinput.filename()
print line
来自档案
$ ./fi.py bobsDetail.txt
bobsDetail.txt
File 'Bob's Detail'
来自stdin:
$ cat bobsDetail.txt | ./fi.py
stdin
File 'Bob's Detail'
答案 1 :(得分:0)
首先,您需要先了解代码,然后才能将其文件名更改为 bobsDetail.txt 。如果您理解代码,您的问题将变得非常简单。 代码执行两次打开和读取文件内容的相同过程,首先使用 argv (参数变量),然后使用 raw_input()。也许,代码来自哪本书想要向您展示如何使用两种方式读取文件的内容 - argv 和 raw_input()。 将代码粘贴到记事本++中并将其另存为 txtcode.py 。创建一个文本文件,输入:
我正在研究如何使用argv和raw_input
读取文件
将此文本文件另存为 OpenMe.txt ,并将其与python脚本 textcode.py 保存在同一文件夹中。该程序的作用是使用 textcode.py 脚本打开并阅读 OpenMe.txt 的内容。换句话说, textcode.py 中的脚本用于打开内容
我正在研究如何使用argv和raw_input
读取文件
在 OpenMe.txt 文件中找到。 运行程序打开powershell(我假设你使用的是Windows)。将目录更改为保存 textcode.py 和 OpenMe.txt 文件的位置,然后将脚本运行为:
*python textcode.py OpenMe.txt*
What you need to type and what will be displayed is shown below:
*$ python ex15.py OpenMe.txt
Here's your file 'OpenMe.txt':
I am studying how to read files using argv and raw_input.
Type the filename again:
> OpenMe.txt
I am studying how to read files using argv and raw_input*
了解了这一点后,您只需将名为 OpenMe.txt 的文件更改为首选文件 bobsDetail.txt 要显示您的文件必须包含一些内容,否则将会显得空洞,您可能认为该程序无效。 注意,您需要了解如何运行程序,并且我使用最简单,最有效的方法来学习如何编程 - 使用纯文本编辑器,如notepad ++和Powershell(或简称cmd)。